PROBLEM LINK: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=1099
could you please say the idea fo this problem in DISJOINT SET UNION.
Thank you.
# | User | Rating |
---|---|---|
1 | tourist | 3985 |
2 | jiangly | 3814 |
3 | jqdai0815 | 3682 |
4 | Benq | 3529 |
5 | orzdevinwang | 3526 |
6 | ksun48 | 3517 |
7 | Radewoosh | 3410 |
8 | hos.lyric | 3399 |
9 | ecnerwala | 3392 |
9 | Um_nik | 3392 |
# | User | Contrib. |
---|---|---|
1 | cry | 169 |
2 | maomao90 | 162 |
2 | Um_nik | 162 |
4 | atcoder_official | 160 |
5 | djm03178 | 158 |
6 | -is-this-fft- | 157 |
7 | adamant | 155 |
8 | Dominater069 | 154 |
8 | awoo | 154 |
10 | luogu_official | 150 |
PROBLEM LINK: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=1099
could you please say the idea fo this problem in DISJOINT SET UNION.
Thank you.
Name |
---|
This is the only time of the year where you can see downvotes on Legendary Grandmaster post asking for help :))
The problem title is self-explanatory: You should use some twist on Disjoint set data structure.
When I was solving this problem I got away with adding one additional datafield to disjoint set — for each set I had one more number showing the enemy of that set.
Then you need to think carefully what do you do with enemy of set when two sets are combined. Start with idea that Enemy of your Enemy is your Friend and if two sets with two enemies are united, then you need to unite both friends and both enemies.