关于最短路径树
查看原帖
关于最短路径树
1088058
ka_da_Duck楼主2024/12/12 13:57

在这题中,关于求出最短路径树后的建立新图部分。上面的可以100,下面的只有80,萌新不解,求助

void bd(int u) {
	vis[u] = 1;
	for (auto ed: e[u]) if (!vis[ed.v] && dis[u] + ed.w == dis[ed.v]) {
		int v = ed.v, w = ed.w;
		g[u].pb({v, w});
		g[v].pb({u, w});
		bd(v);
	}
}
void bd(int u) {
	for (int u = 1; u <= n; ++u) {
		for (auto ed: e[u]) {
			int v = ed.v, w = ed.w;
			if (!vis[v] && dis[u] + w == dis[v]) {
				g[u].pb({v, w});
				g[v].pb({u, w});
				vis[v] = 1;
			}
		}
	}
}

2024/12/12 13:57
加载中...