Training syllabus for ITK21 NBK by __BruteForce__. Prepare for Quang Nam Olympiad in Informatics (2023) and Vietnamese National Olympiad in Informatics (VOI 2024).
Register accounts on Online Judges:
- VNOJ: VNOI Online Judge
- LQDOJ: Le Quy Don Online Judge
- NBKOJ: Nguyen Binh Khiem Online Judge
- Codeforces
- HackerRank
- CSES - Code Submission Evaluation System
- VNOI Wiki
- CP-Algorithms
- CSES CP Handbook
- DSAP - Le Minh Hoang
- CP Book
- Kc97ble
- Geeksforgeeks
- Codeforces Edu & Forum
- Github - Awesome Competitive Programming
- The Ultimate Topic List
- Vietnamese Olympiad in Informatics (VOI)
- Croatian Open Competition in Informatics (COCI)
- USA Computing Olympiad (USACO)
- Central-European Olympiad in Informatics (CEOI) (or on the official site)
- Singapore National Olympiad in Informatics (SGNOI)
- Japanese Olympiad in Informatics (JOI)
- Baltic Olympiad in Informatics (BOI)
-
Concepts:
- Competitive Programming Overview.
- Setup Environment.
- Debugging.
- Complexity.
- Brute-force.
- Recursion & Backtracking
- Branch-N-Bound.
- Greedy.
-
Resources:
- What is Competitive Programming? (William Lin)
- Starting Competitive Programming - Steps and Mistakes (William Lin)
- How to start Competitive Programming? For beginners! (Errichto)
- Recursion in Programming - freeCodeCamp.org
- Greedy Algorithms Tutorial - Solve Coding Challenges - freeCodeCamp.org
- Recursion and Backtracking - VNOI Wiki
-
Practice Problems:
OJ Name Categories NBKOJ hntower Recursion NBKOJ bfknight Recursion, Backtracking NBKOJ gridpaths Backtracking & Branch-N-Bound NBKOJ bfgene Brute-force, Data Structures VNOJ heap1 Greedy, Data Structures VNOJ car Greedy VNOJ bedao_g07_resort Greedy -
Recommendation:
-
Concepts:
- Binary Search.
- Two Pointers.
-
Resources:
-
Practice Problems:
OJ Name Categories VNOJ nksgame Binary Search, Two Pointers VNOJ ndccard Two Pointers LQDOJ bosotg Binary Search, Two Pointers VNOJ twosum Two Pointers NBKOJ minroad Binary Search, Two Pointers VNOJ sopenp Two Pointers, Data Structures NBKOJ qn21dance Two Pointers VNOJ vmquabeo Two Pointers, Data Structures
-
Concepts:
- Binary Search (continued).
- Ternary Search.
-
Resources:
-
Practice Problems:
OJ Name Categories NBKOJ socdist Binary Search, Greedy NBKOJ countpots Binary Search, Math NBKOJ buycard Binary Search VNOJ c11cave Binary Search VNOJ predhbb21_meteor Binary Search, Geometry, Algebra NBKOJ mtwalk Binary Search, Graph Traversal NBKOJ bfwall Ternary Search, Binary Search Codeforces Weakness and Poorness Ternary Search, Binary Search LQDOJ surebet Ternary Search, Binary Search, Two Pointers KATTIS europeantrip Ternary Search, Geometry
-
Concepts:
- Parallel Binary Search.
- Bitmask.
- Meet-in-the-middle.
-
Resources:
-
Practice Problems:
OJ Name Categories SPOJ meteors Parallel Binary Search, Data Structures VNOJ icpc22_mt_d Parallel Binary Search, Data Structures VNOJ vector Meet-in-the-middle, Data Structures VNOJ lqddiv Meet-in-the-middle, Two Pointers VNOJ dttui1 Meet-in-the-middle, Two Pointers VNOJ dgold Meet-in-the-middle, Two Pointers, Data Structures
-
Concepts:
- Prefix Sum.
- Prefix Sum 2D.
-
Resources:
-
Practice problems:
OJ Name Categories NBKOJ bfsumquery Prefix Sum VNOJ nkseq Prefix Sum VNOJ vboard Prefix Sum 2D VNOJ maxcub Prefix Sum 3D NBKOJ bfsumquery2d Prefix Sum 2D NBKOJ plants Prefix Sum 2D NBKOJ voi15mincut Prefix Sum 2D, Binary Search
-
Concepts:
- Congruence.
- Fermat's Little Theorem.
- Binary Exponentiation.
- Modular Inverse.
- Arithmetic Progression and Geometric Progression.
-
Resources:
- Congruence - Wolfram MathWorld
- Modulo - VNOI Wiki
- Fermat's Little Theorem - GeeksforGeeks
- Binary Exponentiation - Cp-Algorithms
- Binary Exponentiation - VNOI Wiki
- Modular Multiplicative Inverse - CP-Algorithms
- Modular Inverse - VNOI Wiki
- Arithmetic Progression - Wikipedia
- Geometric Progression - Wikipedia
-
Practice Problems:
OJ Name Categories Codeforces Math Number Theory NBKOJ exp Number Theory, Binary Exponentiation NBKOJ nguhanh Combinatorics, Modular Inverse NBKOJ goodarr Number Theory NBKOJ sumdivisors Number Theory -
Recommendation
-
Concepts:
- Prime Number.
- Sieve of Eratosthenes.
- Prime Factorization in O(log).
- Some Useful Number Theoretic Functions.
-
Resources:
-
Practice Problems
OJ Name Categories NBKOJ cntdiv Sieve, Prime Factorization NBKOJ commondiv Sieve NBKOJ qn20natdiv Sieve, Prefix Sum NBKOJ qn17mprime Sieve VNOJ dhbb21_easytask Sieve, Prefix Sum LQDOJ primecount Sieve VNOJ ctnown Sieve, Dynamic Programming NBKOJ bddivan DP, Binary Exponentiation, Modular Inverse
-
Concepts:
- Greatest Common Divisors (GCD) and Least Common Multiples (LCM) - Euclidean Algorithm.
- Euler's Totient Function.
- Primality Tests.
- Randomized Algorithms (Probabilities).
-
Resources:
-
Practice Problems:
OJ Name Categories Codeforces Row GCD Number Theory Codeforces Same GCDs Number Theory Hackerrank The Chosen One Number Theory, Prefix Sum NBKOJ bfgcd Number Theory, Prime Factorization, Data Structures NBKOJ cntdiv2 Primality Tests NBKOJ cwdsquare Probabilities, Number Theory, Data Structures VNOJ icpc22_national_d Probabilities, Interactive, Graphs
-
Concepts:
- Basic of Combinatorics: Counting Problems.
-
Resources:
-
Practice Problems:
OJ Name Categories NBKOJ bfcomb Combinatorics, Modular Inverse NBKOJ bfpermstr Combinatorics, Modular Inverse NBKOJ bfpea Combinatorics, Modular Inverse NBKOJ bfextreme Combinatorics Codeforces Benches Combinatorics Codeforces Count Arrays Combinatorics, Modular Inverse
-
Concepts:
- Combinatorics: Inclusion-Exclusion Principle.
-
Resources:
-
Practice Problems:
OJ Name Categories NBKOJ coprimearr Combinatorics, Sieve NBKOJ bfprimediv Combinatorics, Sieve NBKOJ voi18bonus Combinatorics, Prefix Sum 2D VNOJ raygun Combinatorics, Number Theory
-
Concepts:
- Dynamic Programming (DP) Overview.
- Tracing.
- Some Basic Techniques: Memory Optimization, Swap Labels.
-
Resources:
-
Practice Problems:
OJ Name Categories VNOJ nkpalin DP, Tracing NBKOJ bfprincess DP VNOJ lis DP, Binary Search, Data Structures NBKOJ qn17doanthang DP, Binary Search, Data Structures VNOJ binpack DP, Brute-force, Greedy -
Recommendation:
-
Concepts:
- Practice: Dynamic Programming.
-
Resources:
-
Practice Problems:
OJ Name Categories VNOJ qbmarket DP VNOJ stmerge DP NBKOJ qn21altstr DP, Data Structures NBKOJ bfrain DP, Data Structures NBKOJ knapsack DP
-
Concepts:
- Introduction to Data Structures.
- Linked List.
- Stack.
-
Resources:
-
Practice Problems
OJ Name Categories VNOJ nkcard Linked List NBKOJ teammem Linked List NBKOJ rmdupl Stack Hackerrank Balanced Brackets Stack VNOJ kplank Stack VNOJ kagain Stack Codeforces Catch Overflow! Stack Codeforces Maximum Xor Secondary Stack Codeforces Mike and Feet Stack, DP
-
Concepts:
- Practice: Stack.
- Deque.
-
Resources:
-
Practice Problems:
OJ Name Categories VNOJ mink Deque VNOJ ptqmseq Deque, Prefix Sum VNOJ kdiff Deque, DP VNOJ qbrect Stack, DP VNOJ qbsquare Stack, DP VNOJ crec01 Stack, DP VNOJ crect Stack, DP, Combinatorics
-
Concepts:
- Data Structures Practice.
- Some Useful Built-in Data Structures in C++.
-
Resources:
- A Faster Hash Table in C++ - USACO Guide
- C++ STL: Order of magnitude faster hash tables with Policy Based Data Structures - CF Blog
- Most Frequently Used Data Structures in C++: vector, map, unordered_map, multimap, set, unordered_set, multiset, stack, queue, deque, priority_queue, ...
-
Practice Problems:
OJ Name Categories NBKOJ sum4 Data Structures NBKOJ qn18poster Data Structures VNOJ qbheap Data Structures VNOJ icpc22_mb_h Data Structures VNOJ kmin Data Structures, Greedy Codeforces OpenStreetMap Data Structures, DP
-
Concepts:
- Introduction to Segment Tree and Fenwick Tree.
- Difference Array.
-
Resources:
-
Practice Problems:
OJ Name Categories NBKOJ drsq Segment Tree, Fenwick Tree VNOJ nkinv Segment Tree, Fenwick Tree NBKOJ ruq Difference Array, Segment Tree, Fenwick Tree VNOJ nkrez Segment Tree, Fenwick Tree, DP Codeforces Subsequences Segment Tree, Fenwick Tree, DP VNOJ pvoi14_4 Segment Tree, Fenwick Tree, DP -
Recommendation:
-
Concepts:
- Lazy Update (Lazy Propagation) on Segment Tree.
- Merge Sort Tree.
-
Resources:
-
Practice Problems:
OJ Name Categories VNOJ kquery Data Structures, Offline Processing, Binary Search NBKOJ lbst Segment Tree, Binary Search VNOJ qmax2 Segment Tree (Lazy Update) VNOJ lites Segment Tree (Lazy Update) VNOJ nkbracke Segment Tree (Lazy Update) NBKOJ updassign Segment Tree (Lazy Update) NBKOJ polyquery Segment Tree (Lazy Update), Math
-
Concepts:
- Walk on Segment Tree.
- Segment Tree combined with other Data Structures.
- Segment Tree 2D and Fenwick Tree 2D.
-
Resources:
- Walk on Segment Tree - VNOI Wiki
- Advanced versions of Segment Trees - CP-Algorithms
- Segment Tree: Generalization to higher dimensions - CP-Algorithms
- Fenwick Tree: Finding sum in two-dimensional array
- More Applications of Segment Tree - USACO Guide
- 2D Range Queries - USACO Guide
- Segment Tree 2D - kc97ble
-
Practice Problems:
OJ Name Categories NBKOJ playground Walk on Segment Tree NBKOJ bfhorses Walk on Segment Tree (Lazy Update) VNOJ segtree_itds1 Segment Tree, Data Structures NBKOJ bfprincess2 Segment Tree 2D, Fenwick Tree 2D VNOJ smartdog Segment Tree 2D
-
Concepts:
- Practice: Segment Tree and Fenwick Tree.
-
Practice Problems:
OJ Name Categories NBKOJ sumsubarr Segment Tree Codeforces Sereja and Brackets Segment Tree Codeforces Xenia and Bit Operations Segment Tree Codeforces Tufurama Segment Tree, Fenwick Tree Codeforces Tokitsukaze and Strange Rectangle Segment Tree, Fenwick Tree VNOJ segtree_itladder Segment Tree VNOJ bgmine Segment Tree, Fenwick Tree, Prefix Sum -
Recommendation:
-
Concepts:
- Graph Theory Overview.
- Graph Traversal: Breadth First Search (BFS)
-
Resources:
-
Practice Problems:
OJ Name Categories VNOJ ads Graph Traversal VNOJ stable BFS VNOJ qbbishop BFS VNOJ vosnet BFS, DP VNOJ robocon BFS Codeforces Subsequences BFS, Data Strucutres
-
Concepts:
- Advanced BFS: 0-1 BFS and Multi-source BFS.
-
Resources:
-
Practice Problems:
OJ Name Categories Codeforces Labyrinth 0-1 BFS Codeforces Nearest Opposite Parity Multi-source BFS Codeforces Police Stations Multi-source BFS Codeforces Shortest Path Multi-source BFS, Data Structures VNOJ voi18specone Multi-source BFS, Data Structures
-
Concepts:
- Graph Traversal: Depth First Search (DFS).
- Advanced DFS: Assign Colors (to Detect Cycles and Bipartite Graph) and Compute the Entry & Exit Times.
-
Resources:
-
Practice Problems:
OJ Name Categories VNOJ nkguard Graph Traversal Codeforces DFS Order DFS Codeforces Roads not only in Berland Graph Traversal, DSU NBKOJ sumsubtree DFS, Data Structures VNOJ qbciarc DFS VNOJ icpc22_regional_d DFS
-
Concepts:
- Disjont Set Union (DSU or Union Find).
-
Resources:
-
Practice Problems:
OJ Name Categories VNOJ pbcgangs DSU VNOJ vosplay DSU VNOJ qhroad DSU NBKOJ cwdctnce DSU Codeforces Information Graphs DSU
-
Concepts:
- Minimum Spanning Tree (MST): Prim's Algorithm and Kruskal's Algorithm.
-
Resources:
-
Practice Problems:
OJ Name Categories VNOJ fwater MST VNOJ vnempire MST NBKOJ qn16emoter MST, Offline Processing Codeforces Path Queries MST, Combinatorics, Offline Processing Codeforces Connected Components MST, , Offline Processing
-
Concepts:
- DSU & MST Practice.
-
Practice Problems:
OJ Name Categories Hackerrank johnland MST, DP, Combinatorics, Bitwise VNOJ vmst MST, Graph Traversal VNOJ aznet MST NBKOJ assignvar MST, Data Structures NBKOJ admire DSU
-
Concepts:
- Range Minimum Query (RMQ).
- Lowest Common Ancestor (LCA).
-
Resources:
-
Practice Problems:
OJ Name Categories NBKOJ bfstones Data Structures Codeforces Strip DP, Data Structures, Binary Search, Two Pointers VNOJ hbtlca LCA VNOJ pwalk LCA, DP VNOJ lubenica LCA, DP VNOJ fselect LCA, DP -
Recommendation:
-
Concepts:
- LCA Practice.
-
Practice Problems:
OJ Name Categories VNOJ votree LCA, Sparse Table VNOJ upgranet LCA, MST, DP VNOJ putovanje LCA, DSU, DP Codeforces A and B and Lecture Rooms LCA, DP
-
Concepts:
- Square Root (SQRT) Decomposition.
- Mo's Algorithm.
-
Resources:
-
Practice Problems:
OJ Name Categories Codeforces Array Queries Data Structures, DP, Divide and Conquer Codeforces Xenia and Tree Divide and Conquer, Multi-source BFS, LCA Codeforces Holes Data Structures, Divide and Conquer, DP Codeforces Powerful Array Data Structures, Math, Two Pointers, Mo's Algorithm LQDOJ npaircwd Data Structures, Mo's Algorithm Codeforces Ann and Books Data Structures, Mo's Algorithm
-
Concepts:
- Centroid and Diameter of a Tree.
- Centroid Decomposition.
-
Resources:
-
Practice Problems:
OJ Name Categories NBKOJ bftree DFS, Trees Codeforces Ciel the Commander Divide and Conquer, Greedy CSES Fixed-Length Paths I Divide and Conquer CSES Fixed-Length Paths II Divide and Conquer
-
Concepts:
- Heavy-Light Decomposition (HLD).
-
Resources:
-
Practice Problems:
OJ Name Categories VNOJ qtree3 Divide and Conquer, Data Structures VNOJ qtreex Divide and Conquer, LCA, Data Structures CSES Path Queries Divide and Conquer, Data Structures CSES Path Queries II Divide and Conquer, LCA, Data Structures
-
Concepts:
- Shortest Paths Problems.
- Single-source Shortest Paths: Dijkstra's Algorithm.
- All-pair Shortest Paths: Floyd-Warshall Algorithm.
-
Resources:
-
Practice Problems:
OJ Name Categories VNOJ binladen Dijkstra VNOJ pwrfail Dijkstra VNOJ qbschool Dijkstra VNOJ centre28 Dijkstra VNOJ roads Dijkstra VNOJ qbrobot Dijkstra VNOJ vdanger Floyd-Warshall VNOJ dhserv Floyd-Warshall VNOJ qbbuild Floyd-Warshall
-
Concepts:
- Shortest Paths Problems Practice.
-
Practice Problems:
OJ Name Categories VNOJ ttrip Floyd-Warshall VNOJ icpc22_mt_h Dijkstra VNOJ dhfrbus Dijkstra VNOJ netaccel Dijkstra VNOJ mele2 Dijkstra VNOJ v8sort Dijkstra VNOJ voi17metro Dijkstra
-
Concepts:
- Shortest Paths Problems Practice.
-
Practice Problems:
OJ Name Categories LQDOJ robot Dijkstra Codeforces Dima and Bacteria Floyd-Warshall, DSU NBKOJ ticket Dijkstra, DP NBKOJ tourism Dijkstra, DP
-
Concepts:
- Tarjan's Algorithm and Related Problems: Finding Bridges and Articulation Points (Cut Vertex).
-
Resources:
-
Practice Problems:
OJ Name Categories VNOJ graph_ Tarjan VNOJ kbuild Tarjan, LCA, DP VNOJ weather Tarjan, Combinatorics VNOJ critical Tarjan, Combinatorics VNOJ reform Tarjan, Combinatorics VNOJ nkpolice Tarjan, Data Structures Codeforces Cutting Figure Tarjan Codeforces Tourist Reform Tarjan Codeforces Edges in MST Tarjan, MST
-
Concepts:
- Tarjan's Algorithm and Related Problems: Finding Strongly Connected Components
-
Resources:
-
Practice Problems:
OJ Name Categories VNOJ tjalg Tarjan VNOJ message Tarjan VNOJ number Tarjan VNOJ nkonearc Tarjan VNOJ treat Tarjan, DP on DAG Codeforces Checkposts Tarjan, Two Pointers Codeforces Ralph and Mushrooms Tarjan, DP on DAG
-
Concepts:
- Tarjan's Algorithm and Related Problems: Topological Sorting and DP on DAG.
-
Resources:
-
Practice Problems:
OJ Name Categories VNOJ nkleague Topo Sort VNOJ nkjump Topo Sort VNOJ atcoder_dp_g Topo Sort, DP VNOJ bic Topo Sort, DP Codeforces Fox and Names Topo Sort Codeforces Substring Topo Sort, DP Codeforces Gargari and Permutations Topo Sort, DP VNOJ kcollect Tarjan, Topo Sort, DP NBKOJ atm Tarjan, Topo Sort, DP
-
Concepts:
- Tarjan's Algorithm and Related Problems: 2-SAT Problem.
-
Resources:
-
Practice Problems:
OJ Name Categories VNOJ twosat 2-SAT VNOJ elect 2-SAT NBKOJ cwdgameshow 2-SAT Codeforces The Door Problem 2-SAT Codeforces The Road to Berland 2-SAT Codeforces Ring Road 2 2-SAT Codeforces Catowice City 2-SAT
-
Concepts:
- DP on Trees.
-
Resources:
-
Practice Problems:
OJ Name Categories VNOJ v8org DFS, DP VNOJ atcoder_dp_p DFS, DP NBKOJ paintbarn DFS, DP NBKOJ matching DFS, DP VNOJ mtree DFS, DP VNOJ lqdxeui DFS, DP VNOJ kingdom DFS, DP
-
Concepts:
- DP on Trees (continued).
-
Practice Problems:
OJ Name Categories Codeforecs Distance in Tree DFS, DP Codeforces Appleman and Tree DFS, DP Codeforces Tree Painting DFS, DP Codeforecs Treeland Tour DFS, DP LQDOJ service DFS, DP LQDOJ tkpc07tree DFS, LCA, DP
-
Concepts:
- DP and Matrix Multiplication (MatMul).
-
Resources:
-
Practice Problems:
OJ Name Categories VNOJ latgach4 DP, MatMul VNOJ dhloco DP, MatMul VNOJ vostribo DP, MatMul VNOJ vmatrix DP, MatMul VNOJ matexp_cntpath DP, MatMul VNOJ matexp_minpath DP, MatMul
-
Concepts:
- DP and Matrix Multiplication (continued).
-
Resources:
-
Practice Problems:
OJ Name Categories VNOJ voi17fibseq DP, MatMul VNOJ c11cal DP, MatMul VNOJ icpc22_national_h DP, MatMul VNOJ vomarble DP, MatMul Codeforces Product Oriented Recurrence DP, MatMul -
Recommendation:
-
Concepts:
- Bitmask DP.
-
Resources:
-
Practice Problems:
OJ Name Categories VNOJ mixup2 Bitmask DP VNOJ lem3 Bitmask DP VNOJ cowgirl Bitmask DP VNOJ qbgame Bitmask DP VNOJ predhbb21_cpu Bitmask DP VNOJ seq198 Bitmask DP NBKOJ bfgifts Bitmask DP, BFS
-
Concepts:
- Bitmask DP (continued).
- Sum over Subsets (SOS) DP.
-
Resources
-
Practice Problems:
OJ Name Categories NBKOJ bfboat Bitmask DP VNOJ maugiao Bitmask DP Codeforces A Simple Task Bitmask DP Codeforces Compatible Numbers SOS DP Codeforces Square Subsets SOS DP, Math, Combinatorics NBKOJ cwdcnkce SOS DP, Combinatorics VNOJ voi21_or SOS DP, Combinatorics
-
Concepts:
- DP and Combinatorics.
-
Resources:
-
Practice Problems:
OJ Name Categories VNOJ binary2 DP, Combinatorics NBKOJ cnttree DP, Combinatorics NBKOJ camping DP, Combinatorics NBKOJ genstr DP, Combinatorics NBKOJ reordering DP, Combinatorics Codeforces Arena DP, Combinatorics Codeforces Number of Simple Paths DP, Combinatorics, Graphs
-
Concepts:
- Digit DP.
-
Resources
-
Practice Problems:
OJ Name Categories VNOJ demso Digit DP VNOJ atcoder_dp_s Digit DP VNOJ lucky13 Digit DP NBKOJ cwdpearl Digit DP Codeforces Magic Numbers Digit DP
-
Concepts:
- String Hashing and Rabin-Karp Algorithm.
-
Resources
-
Practice Problems:
OJ Name Categories LQDOJ pun String Hashing LQDOJ twostr String Hashing NBKOJ period String Hashing VNOJ paliny String Hashing Codeforces Palindrome Degree String Hashing Codeforces Palindromic characteristics String Hashing Codeforces Good Substrings String Hashing Codeforces Test String Hashing -
Recommendation
-
Concepts:
- Hashing.
-
Practice Problems:
OJ Name Categories VNOJ tnhtest Hashing VNOJ vobignum Hashing LQDOJ catalan Hashing LQDOJ coinflip Hashing Codeforces Dasha and Nightmares Hashing
-
Concepts: String Searching.
- Prefix Function - KMP Algorithm.
- Z-Function - Z Algorithm.
- Manacher Algorithm.
- Trie.
-
Resources:
- KMP and Z-function and Trie - VNOI Wiki
- KMP and Z-Function - CP-Algorithms
- Manacher's Algorithm: VNOI Wiki and Cp-Algorithm
- String Searching - USACO Guide
-
Practice Problems:
OJ Name Categories VNOJ substr DP, String Searching Codeforces MUH and Cube Walls DP, String Searching Codeforces Prefixes and Suffixes DP, String Searching Codeforces Password DP, String Searching
-
Concepts: String Searching (continued).
-
Practice Problems:
OJ Name Categories VNOJ c11str2 DP, String Searching LQDOJ lpdstr DP, String Searching Codeforces Anthem of Berland DP, String Searching Codeforces Vasya and Big Integers DP, String Searching
-
Concepts: String Searching (continued)
-
Practice Problems:
OJ Name Categories Codeforces A Lot of Games DP, String Searching Codeforces Kuro and GCD and XOR and SUM DP, String Searching Codeforces Short Code DP, String Searching Codeforces Beautiful Subarrays DP, String Searching NBKOJ xorgame DP, String Searching
-
Concepts: Geometry.
-
Resources:
- VNOI Wiki: Basic 1 and Basic 2
- CP-Algorithms: Elementary Operations and Polygons
- USACO Guide: Geometry Primitives
- Handbook of Geometry for CP
-
Practice Problems:
OJ Name Categories Codeforces New Year and Curling Geometry Codeforces Nearest vectors Geometry Codeforcces Peter and Snow Blower Geometry Codeforces Robo-Footballer Geometry Codeforces Runaway to a Shadow Geometry VNOJ meterain Geometry VNOJ hinhthoi Geometry VNOJ areatri Geometry VNOJ tfield Geometry -
Recommendation:
-
Concepts: Geometry.
-
Resources:
-
Practice Problems:
OJ Name Categories SPOJ nearest Sweep Line SPOJ CS345A1 Sweep Line VNOJ area Sweep Line Kattis gridmst Sweep Line
-
Concepts: Geometry.
-
Resources:
-
Practice Problems:
OJ Name Categories CSES Convex Hull Convex Hull VNOJ military Convex Hull VNOJ headqrt Convex Hull VNOJ kmix Convex Hull
-
Concepts:
- Range DP.
-
Resources:
-
Practice Problems:
OJ Name Categories SAPO Space Jazz DP CSES Empty String DP Codechef Brackets DP Codeforces Number of Palindromes DP Codeforces Zuma DP DMOJ BOI 09 - Beetle DP
-
Concepts:
- Dynamic Programming Practice.
-
Practice Problems:
OJ Name Categories Codeforces Bargain DP, Combinatorics Codeforces Lucky Tree DP on Trees, Combinatorics Codeforces 0-1-Tree DP on Tree, Combinatorics Codeforces Runner's Problem DP, MatMul USACO Odometer Digit DP -
Self-Practice Problems:
OJ Name Categories Codeforces Segment Sum Bitmask DP, Combinatorics Atcoder Strange Constraints DP, Combinatorics
-
Concepts:
- Eulerian Path and Circuit.
- Eulerian Tour on Tree.
- Small-to-Large Merging.
-
Resources
-
Practice Problems:
OJ Name Categories CSES Teleporters Path Euler Circuit VNOJ pcycle Euler Circuit VNOJ draw Euler Circuit CSES Distinct Color Euler Tour, Data Structures, Small-To-Large Codeforces Lomsat gelral Small-To-Large