Unable to understand where my submission is failing. It looks like a standard DSU question. WA on TC-14.
# | User | Rating |
---|---|---|
1 | tourist | 4009 |
2 | jiangly | 3823 |
3 | Benq | 3738 |
4 | Radewoosh | 3633 |
5 | jqdai0815 | 3620 |
6 | orzdevinwang | 3529 |
7 | ecnerwala | 3446 |
8 | Um_nik | 3396 |
9 | ksun48 | 3390 |
10 | gamegame | 3386 |
# | User | Contrib. |
---|---|---|
1 | cry | 164 |
1 | maomao90 | 164 |
3 | Um_nik | 163 |
4 | atcoder_official | 160 |
4 | adamant | 160 |
6 | -is-this-fft- | 158 |
7 | awoo | 157 |
8 | TheScrasse | 154 |
8 | Dominater069 | 154 |
8 | nor | 154 |
Unable to understand where my submission is failing. It looks like a standard DSU question. WA on TC-14.
Name |
---|
You have a bug in the union function, you should set parents of p1, p2 instead of x1, x2.
Also, this standard DSU question can be solved by counting a number of different values in the input sequence :)
It doesn't work :(
https://codeforces.me/contest/755/submission/80904257
Did I rectify it correctly?
Yes, the issue was a bit more subtle.
You collect the answer by checking number of different values in parent array. However, because you use path compression algorithm, some of the values may not be up-to-date.
You can either call find on all the nodes to solve this issue (this will update the values of parents for all nodes), or change the way in which you calculate the answer.