Hello everyone,
I am planning to participate in my National Olympiad in Informatics, which will likely be held around mid-February. I want to use the coming months wisely to prepare.
Could you please suggest:
- The most important topics to focus on (data structures, algorithms, math, etc.)
- How to balance theory and problem-solving practice
- Useful resources for Olympiad-level preparation
- Tips for building confidence before the contest
I have some basics in programming, but I want to get stronger step by step. Any advice would be greatly appreciated.
Thank you!








You Should consistently solve cf problems
Learn Basic first. Here is some suggestion (prioritized with numbering) (1. Prefix Sum, Bit operations, Recursion, GCD, LCM, STL, Binary Search Two pointer, Permutation, combination, sorting, greedy, constructive algorithm) (2. Basic Graph Theory, DFS, BFS, Basic DP, Tree) (3. Segment Tree, DSU, Trie, Orderet Set, Dijstra, Topological sorrting, Sieve, SPF, etc) (I started from basic as you are a newbie in CF)
Keep learning DSA, and solve problem from those topics. And practice olympiad problems from oj.uz and oichecklist. besides that keep solving problem in codeforces and actively participate in contests. CF will teach you how to think mostly. I mean in CF most problem under 1600-1700 rated don't usually require any DSA. Just row problem solving.
A topic list: https://youkn0wwho.academy/topic-list OI Checklist: https://checklist.spoi.org.in OI style contest platform: https://olympicode.rs A legendary Resource: https://usaco.guide/dashboard/ GOAT PLaylist: https://cses.fi
Solve more and more OI problems to build confidence. and also take enough rest, sleep properly, drink enough water. Try to do a bit of workout everyday.
I hope to see you in the national round next year. Best of luck.
Is it necessary to master all data structures and algorithms, and am I currently prepared to solve competitive programming (Olympiad Informatics/OI) problems? I would greatly appreciate guidance on this matter.
I don't think it's possible for someone to master all the data structure. Topics I suggested you are from the most common things. You should try to learn all those level by level.