大大滴小小疑惑
查看原帖
大大滴小小疑惑
544446
Demon_master楼主2022/10/12 21:10

为什么当一条边连接了点 nn 后,其经过次数的期望还是要算上另外一个点的期望,而不是直接是1?

从代码上来说:

正解:

for(int i=1;i<=m;i++){
	if(edge_ans[i].f!=n) edge_ans[i].qw+=ans[edge_ans[i].f]/(long double)du[edge_ans[i].f];
    if(edge_ans[i].t!=n) edge_ans[i].qw+=ans[edge_ans[i].t]/(long double)du[edge_ans[i].t];
}

疑问

for(int i=1;i<=m;i++){
	if(edge_ans[i].f==n||edge_ans[i].t==n){edge_ans[i].qw=1;continue;}
    edge_ans[i].qw=ans[edge_ans[i].t]/(long double)du[edge_ans[i].t]+ans[edge_ans[i].f]/(long double)du[edge_ans[i].f];
}
2022/10/12 21:10
加载中...