只过了第五个点 求助大佬

P4779 【模板】单源最短路径(标准版)

解决了 ``` for (int i=0;i<G[u].size();i++) { int v=G[u][i].v,w=G[u][i].w; if (d[v]>d[u]+w) d[v]=d[u]+w; pq.push({d[v],v}); } ``` 问题在这,应该是pq.push({-d[v],v}) 优先队列是大根堆 权值变成负数push就变成从小到大排 即为小跟堆
by KongY11 @ 2024-04-16 20:24:33


这是因为我是用的pair才会出现这种情况 你也可以用struct重载运算符就不用添负号
by KongY11 @ 2024-04-16 20:27:21


|