How to prove that there exists optimal solution using only one full circle?
1. Is it essential to know some really advanced things? For example, once I saw usage of Link-cut tree on codechef. It was my first time seing it. I know that it will maybe be useful to learn it, but right now it would be more beneficial to practice DP or something less advanced, because I am not red on codeforces yet or medallist at Ioi and similar, wont it?
Generally, I think its better for someone to first master things that appear frequently, and then focus on advanced things that appear once in a while.Am I right?
2. In your opinion, which trees are must-learn for someone who whishes to participate on IOI and get medal, get red on CF, and similar? Till now I know segment and fenwick, but I saw tons of other data structures ( especially trees) and Im not sure when to learn them (because as I said in Q1, I think now I have more important things to learn and master).