最短路计数求助 关于vis数组
  • 板块P1608 路径统计
  • 楼主makerY
  • 当前回复2
  • 已保存回复2
  • 发布时间2023/9/8 11:35
  • 上次更新2023/11/2 22:22:18
查看原帖
最短路计数求助 关于vis数组
642544
makerY楼主2023/9/8 11:35
  1. 为什么不加 vis 会错。

  2. 为什么这样判断 vis 也会 错:

while(!q.empty())
	{
		int u=q.top().second;q.pop();
		vis[u]=1;
		for(int i=h[u];~i;i=ne[i])
		{
			int v=e[i];
			if(dis[v]>dis[u]+w[i]) 
			{
				dis[v]=dis[u]+w[i],cnt[v]=cnt[u];
				if(!vis[v]) q.push(make_pair(dis[v],v));
			}
			else if(dis[v]==dis[u]+w[i]) cnt[v]+=cnt[u];
		}
	}

感觉可能都是重复更新的问题,但仔细想想又好像找不到反例,求大佬解答,嘤嘤嘤 qwq。

2023/9/8 11:35
加载中...