Can anyone share a method or an idea to find lexicographically smallest minimum cut in a graph.
# | User | Rating |
---|---|---|
1 | tourist | 3993 |
2 | jiangly | 3743 |
3 | orzdevinwang | 3707 |
4 | Radewoosh | 3627 |
5 | jqdai0815 | 3620 |
6 | Benq | 3564 |
7 | Kevin114514 | 3443 |
8 | ksun48 | 3434 |
9 | Rewinding | 3397 |
10 | Um_nik | 3396 |
# | 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 | 156 |
8 | TheScrasse | 154 |
9 | Dominater069 | 153 |
10 | nor | 152 |
Can anyone share a method or an idea to find lexicographically smallest minimum cut in a graph.
Name |
---|
this is sounds very similar like one of the facebook hacker cup task this year..
So my first try would be, find the smallest minimum cut, let denote this number C..
After that make some greedy algo: find the smallest node id which can be a part of some cut which volumen is C.
So go through node and erase node v, after that run find minimum cut algo, if this cut volumen is C-1 we found the first node of the lexicographically smallest minimum cut..
after that find the second node, and so on.. minimum cut algo is O(N^3) , it seems to enough go through the node just once (this is N step), and we erase every edge maximum twice so this algo is about O(N^4*M)
Yes, that seems to work thanks, but isn't it's complexity O(N^3*(N+2*M))?
Sorry I wasn't calculate it precisely.. Now it seems to me, this is O(N^4+2*M).