Can anyone give me an idea how to solve this problem ? Tour de Byteotia Thanks in advance!
# | 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 | 167 |
2 | Um_nik | 163 |
3 | maomao90 | 162 |
3 | atcoder_official | 162 |
5 | adamant | 159 |
6 | -is-this-fft- | 158 |
7 | awoo | 157 |
8 | TheScrasse | 154 |
9 | Dominater069 | 153 |
9 | nor | 153 |
Can anyone give me an idea how to solve this problem ? Tour de Byteotia Thanks in advance!
Name |
---|
Auto comment: topic has been updated by saba_tavdgiridze (previous revision, new revision, compare).
Am I right or it is enough to find any spanning tree and delete other edges?
Apart from that, POIs have editorials. Try searching oi.edu.pl website
You're wrong since the graph is not necessarily connected, hence it can have no spanning tree.
By the way, even if the input graph always had a spanning tree, the solution would be still wrong.
Simply consider a clique, where you would add N - 1 edges and at least is possible.
Let's try to add the maximum amount of edges so that no cycle passes through vertices 1..K.
You can first of all add all "safe" edges (x; y) — those which have x>K and y>K.
After that, iterate through the others, and add an edge only in case it won't form a cycle (this can be checked with the help of DSU).
After we're done, the answer is formed by the edges we didn't add.