虽然我过了这题(900+ms)。但是我的 DIJ 算法在其他地方被卡了。
如果你的 dij 是这么写的:
while(){ vis[x] = 1; ... if(!vis[y]) q.push(y); }
可能你的队列是这样的
…x,y,z,x,y,z,x,y,z…\dots x,y,z,x,y,z,x,y,z\dots …x,y,z,x,y,z,x,y,z…。
每个 x,y,zx,y,zx,y,z 都会被执行一遍,然后套娃。
这样复杂度可能退化成 O(n2logn)\mathcal O(n^2\log n)O(n2logn) 的。