@[垃圾一个](/space/show?uid=85933)
大号的记录
by garbage2 @ 2019-05-22 16:03:02
思路啥的都没问题。
第二个for循环里,
```cpp
p[find(a)]+=p[find(b)];
```
需要满足
```cpp
find(a) != find(b)
```
也就是a和b不在同一个集合当中是才执行。
所以建议你把这个for写成:
```cpp
for (int i = 1; i <= k; i++) {
int a, b;
cin >> a >> b;
int aa = find(a), bb = find(b);
if (aa != bb) fa[bb] = aa, p[aa] += p[bb];
}
```
应该就能过了QAQ
by 三生万物 @ 2019-05-22 17:00:31
@[垃圾一个de小号](/space/show?uid=104380)
by 三生万物 @ 2019-05-22 17:01:34
@[三生万物](/space/show?uid=116821) 试一下吧,细节问题……
by garbage2 @ 2019-05-22 17:03:35