60分卡死了

P2170 选学霸

@[垃圾一个](/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


|