[ABC375G] Road Blocked 2 讲解

· · 题解

[ABC375G] Road Blocked 2

题目考察:dijkstra,哈希。
题目简述: 在一个图 G 中,有 n 个点,m 条边(表示为 u_i,v_i,w_i),m 个询问,第 i 次询问去掉第 i 条边后从 1n 是否不连通或最短路的值改变(询问是独立的)。
数据范围:

那么我们继续思考(设 dis_{u,v}uv 的最短路,cnt_{u,v} 为从 uv 的最短路数):

这两个值是可以分别从 1n 分别跑 dijkstra 用 \Theta((n+m)\log n) 求出来,但是 cnt_{1,n} 的值非常大,所以我们要用哈希。

时间复杂度为 \Theta((n+m)\log n)

代码