进食后人
查看原帖
进食后人
581015
Chenyichen0420楼主2024/8/6 20:20

如果你出现了 10pts10pts 的情况,请检查一下你的并查集的合并顺序。我的代码就是因为这个原因一直挂。

鉴于这个错误比较容易被忽略(毕竟平时合并顺序不重要),特发此贴。

原先:(10pts10pts)

inline void merge(int l, int r) {
	l = find(l); r = find(r);
	fa[l] = r; siz[r] += siz[l];
}

改为:(100pts100pts)

inline void merge(int l, int r) {
	l = find(l); r = find(r);
	fa[r] = l; siz[l] += siz[r];
}

(仅作示意)

2024/8/6 20:20
加载中...