2006-2010, when I was training a lot and solving many problems, the algorithms and ideas transmitted in myths, as folklore. Russian e-maxx website was an awesome source of knowledge. Then Codeforces appeared, Petrozavodsk Training Camp became very reachable and the total amount of contests increased dramatically. But the main training cycle feels always the same: stumbling of a difficult problem -> learning how to solve it -> highlighting the fundamental ideas -> searching for other problems based on the same ideas.
I see the following values of e-maxx website (let's take as an example the article of Lyndon decomposition):
- Non-trivial, valuable topic. Not just straightforward dfs or prime numbers in $$$O(n^2)$$$.
- Common method which is useful in different problems. Not an editorial to a specific, limited task.
- Shortly and clearly. Not 100500 pages filled with proofs and deep maths.
- A text. Not audio/video, just a text where I can reach any point easily.
- A working code example. It proofs that the author implemented his words into reality.
- A link to the online judge problem where I can train to apply the idea of the topic.
I wonder about any changes to the late of 2019. What does actually work for you? Any other sources which are close to e-maxx by values? Any new kinds of training/learning which work better? (I've heard about courses at edx and coursera.) How the issue is solved by foreign colleagues?
I will be happy to read your answers in comments!