用优先队列写kruskal却t了8个点求助

P3366 【模板】最小生成树

@[焚魂](/user/206423) wtf?从未见过诶。sort写能过吗
by Crab_Tang @ 2024-09-16 16:11:27


@[焚魂](/user/206423) 你的 `while` 里有问题
by JOKER_chu @ 2024-09-16 16:13:02


@[焚魂](/user/206423) 我知道了,如果top相等也要Pop掉。不能让他留着。
by Crab_Tang @ 2024-09-16 16:13:08


```cpp while(!q.empty()) { if(find(q.top().u) != find(q.top().v)) { k++; mst += q.top().w; unionn(q.top().u,q.top().v); } q.pop(); // 这条边不能合并也要弹出 if(k == n-1) break; } ```
by JOKER_chu @ 2024-09-16 16:14:03


@[Crab_Tang](/user/1021365) sort可以 明白,感谢感谢 @[JOKER_chu](/user/994729) @[Crab_Tang](/user/1021365)
by 焚魂 @ 2024-09-16 16:14:33


@[Crab_Tang](/user/1021365) 我看测评时间,用这个好像比sort快一丝丝(大概十分之一
by 焚魂 @ 2024-09-16 16:17:03


@[焚魂](/user/206423) 一丝丝基本是评测ji的波动啦。再说,你放堆里面还要出堆,存数组里面一次性排好肯定快的
by Crab_Tang @ 2024-09-16 18:33:33


|