Repo Problem Index¶
This page lists every current solved problem note in the repo and maps it back to the learning structure.
- Total tracked problem notes:
158 - Data files: problem-catalog.json, repo-problem-catalog.csv
- Fastest route: Problem Finder when you want filters instead of the full static table
- External companion index: external-problem-index.md
- Topic maps: topic-maps/index.md
- Recommended use: start from the
Primary topic, open theTopic map, then solve from the linked notes.
Coverage Snapshot¶
| Area | Count |
|---|---|
| Foundations | 11 |
| Data Structures | 26 |
| Graphs | 33 |
| DP | 19 |
| Greedy | 4 |
| Math | 26 |
| Combinatorics | 5 |
| Strings | 12 |
| Geometry | 11 |
| Advanced | 11 |
Current Catalog¶
Foundations¶
| Code | Title | Primary | Also Fits | Pattern | Difficulty | Track | Learn | Note | Solution |
|---|---|---|---|---|---|---|---|---|---|
FACTORYMACHINES |
Factory Machines | Foundations -> Binary Search |
Foundations -> Complexity And Invariants | answer binary search; monotone feasibility; production rate accumulation | medium |
CSES, Sorting and searching | Map / Ladder / Tutorial | Note | Code |
INCREASINGARRAY |
Increasing Array | Foundations -> Complexity And Invariants |
- | loop invariant scan; greedy repair; running maximum maintenance | easy |
CSES, Introductory problems | Map / Ladder / Tutorial | Note | Code |
MISSINGNUMBER |
Missing Number | Foundations -> C++ Language |
- | running total subtraction; arithmetic series sum; type safe warm-up | easy |
CSES, Introductory problems | Map / Ladder / Tutorial | Note | Code |
WEIRDALGORITHM |
Weird Algorithm | Foundations -> C++ Language |
- | simulation loop; parity branching; first local workflow | easy |
CSES, Introductory problems | Map / Ladder / Tutorial | Note | Code |
RANGEUPDATEQUERIES |
Range Update Queries | Foundations -> Difference Arrays |
Data Structures -> Fenwick Tree | difference array updates; fenwick on diff; range add point query | medium |
CSES, Range queries | Map / Ladder / Tutorial | Note | Code |
STATICRANGESUMQUERIES |
Static Range Sum Queries | Foundations -> Prefix Sums |
- | prefix sum build; range sum by subtraction; immutable array queries | easy |
CSES, Range queries | Map / Ladder / Tutorial | Note | Code |
FERRISWHEEL |
Ferris Wheel | Foundations -> Sorting |
Foundations -> Two Pointers | opposite end pointers; greedy pairing; sorted capacity matching | easy-medium |
CSES, Sorting and searching | Map / Ladder / Tutorial | Note | Code |
MOVIEFESTIVAL |
Movie Festival | Foundations -> Sorting |
Foundations -> Complexity And Invariants | finish-time sorting; interval scheduling; exchange argument greedy | easy |
CSES, Sorting and searching | Map / Ladder / Tutorial | Note | Code |
DISTINCTNUMBERS |
Distinct Numbers | Foundations -> STL Basics |
Foundations -> C++ Language | sort unique; container deduplication; stl algorithms | easy |
CSES, Sorting and searching | Map / Ladder / Tutorial | Note | Code |
APARTMENTS |
Apartments | Foundations -> Two Pointers |
Foundations -> Sorting | two sorted pointers; tolerance matching; greedy monotone scan | easy-medium |
CSES, Sorting and searching | Map / Ladder / Tutorial | Note | Code |
SUMOFTWOVALUES |
Sum of Two Values | Foundations -> Two Pointers |
Foundations -> Sorting | sort and scan; opposite end pointers; index restoration | medium |
CSES, Sorting and searching | Map / Ladder / Tutorial | Note | Code |
Data Structures¶
| Code | Title | Primary | Also Fits | Pattern | Difficulty | Track | Learn | Note | Solution |
|---|---|---|---|---|---|---|---|---|---|
BTREEDICTIONARY |
B-Tree Dictionary | Data Structures -> B-Trees |
- | - | medium |
- | Map / Ladder / Tutorial | Note | Code |
VASILIYSMULTISET |
Vasiliy's Multiset | Data Structures -> Binary Trie / XOR Queries |
- | - | medium |
- | Map / Ladder / Tutorial | Note | Code |
C11XU |
Bộ sưu tập đồng xu | Data Structures -> DSU |
Advanced -> Optimization And Duality | xor-independence; forest selection; augmenting exchange | hard |
VN SPOJ, OI-style | Map / Ladder / Tutorial | Note | Code |
DISTINCTCOLORS |
Distinct Colors | Data Structures -> DSU On Tree / Small-To-Large |
- | - | hard |
- | Map / Ladder / Tutorial | Note | Code |
DYNAMICCONNECTIVITY |
Dynamic Connectivity | Data Structures -> DSU Rollback / Offline Dynamic Connectivity |
Data Structures -> DSU; Data Structures -> Offline Tricks | dsu rollback; segment tree over time; offline dynamic connectivity | hard |
CSES, Advanced techniques | Map / Ladder / Tutorial | Note | Code |
CVP00001 |
Ô ăn quan | Data Structures -> Fenwick Tree |
Foundations -> Prefix Sums | circular updates; range-add point-query; query-from-initial-state | hard |
VN SPOJ, OI-style | Map / Ladder / Tutorial | Note | Code |
CONCERTTICKETS |
Concert Tickets | Data Structures -> Heaps And Ordered Sets |
- | multiset predecessor; erase one occurrence; greedy ticket assignment | medium |
CSES, Sorting and searching | Map / Ladder / Tutorial | Note | Code |
RESERVATIONSYSTEM |
Reservation System | Data Structures -> Interval Trees |
- | - | easy |
- | Map / Ladder / Tutorial | Note | Code |
HORRIBLEQUERIES |
Horrible Queries | Data Structures -> Lazy Segment Tree |
- | lazy segment tree; range add range sum; deferred propagation | medium |
SPOJ, Range queries | Map / Ladder / Tutorial | Note | Code |
NEARESTSMALLERVALUES |
Nearest Smaller Values | Data Structures -> Monotonic Stack / Queue |
- | - | medium |
- | Map / Ladder / Tutorial | Note | Code |
POWERFULARRAY |
Powerful Array | Data Structures -> Mo's Algorithm |
- | - | hard |
- | Map / Ladder / Tutorial | Note | Code |
WILLEMCHTHOLLYANDSENIORIOUS |
Willem, Chtholly and Seniorious | Data Structures -> ODT / Chtholly |
- | - | hard |
- | Map / Ladder / Tutorial | Note | Code |
DISTINCTVALUESQUERIES |
Distinct Values Queries | Data Structures -> Offline Tricks |
Data Structures -> Fenwick Tree | offline right-endpoint sweep; last occurrence activation; fenwick range count | hard |
CSES, Range queries | Map / Ladder / Tutorial | Note | Code |
MERGEABLEHEAP1 |
P3377 [Template] Mergeable Heap 1 | Data Structures -> Pairing Heap / Leftist Heap |
- | - | medium |
- | Map / Ladder / Tutorial | Note | Code |
ORDERSET |
Order Statistic Set | Data Structures -> PBDS / Order Statistics Tree |
- | - | medium |
- | Map / Ladder / Tutorial | Note | Code |
RANGEQUERIESANDCOPIES |
Range Queries and Copies | Data Structures -> Persistent Data Structures |
Data Structures -> Segment Tree | persistent segment tree; path copying; versioned range sum | hard |
CSES, Range queries | Map / Ladder / Tutorial | Note | Code |
PERSISTENTLIST |
Persistent List | Data Structures -> Persistent Treap |
- | - | hard |
- | Map / Ladder / Tutorial | Note | Code |
DYNAMICRANGESUMQUERIES |
Dynamic Range Sum Queries | Data Structures -> Segment Tree |
- | iterative segment tree; point assignment; range sum query | medium |
CSES, Range queries | Map / Ladder / Tutorial | Note | Code |
RANGECHMINCHMAXADDRANGESUM |
Range Chmin Chmax Add Range Sum | Data Structures -> Segment Tree Beats |
- | segment tree beats; range chmin; range chmax; second extremum summaries | hard |
Library Checker, Verification | Map / Ladder / Tutorial | Note | Code |
SKIPLISTDICTIONARY |
Skiplist Dictionary | Data Structures -> Skip Lists |
- | - | medium |
- | Map / Ladder / Tutorial | Note | Code |
STATICRANGEMINIMUMQUERIES |
Static Range Minimum Queries | Data Structures -> Sparse Table |
- | sparse table rmq; idempotent overlap query; log table preprocessing | easy |
CSES, Range queries | Map / Ladder / Tutorial | Note | Code |
ORDINARYBALANCEDTREE |
普通平衡树 | Data Structures -> Splay Tree |
- | - | hard |
- | Map / Ladder / Tutorial | Note | Code |
CUTANDPASTE |
Cut and Paste | Data Structures -> Treap / Implicit Treap |
- | - | hard |
- | Map / Ladder / Tutorial | Note | Code |
SALARYQUERIES |
Salary Queries | Data Structures -> Treap / Implicit Treap |
- | - | medium |
- | Map / Ladder / Tutorial | Note | Code |
MKTHNUM |
K-th Number | Data Structures -> Wavelet Tree |
- | - | hard |
- | Map / Ladder / Tutorial | Note | Code |
XFASTDICTIONARY |
X-Fast Dictionary | Data Structures -> X-Fast / Y-Fast Tries |
- | - | hard |
- | Map / Ladder / Tutorial | Note | Code |
Graphs¶
| Code | Title | Primary | Also Fits | Pattern | Difficulty | Track | Learn | Note | Solution |
|---|---|---|---|---|---|---|---|---|---|
MESSAGEROUTE |
Message Route | Graphs -> BFS And DFS |
Graphs -> Graph Modeling | breadth-first search; unweighted shortest path; parent reconstruction | easy |
CSES, Graph algorithms | Map / Ladder / Tutorial | Note | Code |
NECESSARYROADS |
Necessary Roads | Graphs -> Bridges, Articulation, And BCC |
- | low-link; bridge detection; dfs tree critical edge | medium |
CSES, Advanced techniques | Map / Ladder / Tutorial | Note | Code |
CIELTHECOMMANDER |
Ciel the Commander | Graphs -> Centroid Decomposition |
Graphs -> Trees | centroid decomposition; centroid tree labeling; balanced recursive split | hard |
Codeforces, Tree decomposition | Map / Ladder / Tutorial | Note | Code |
DEBRUIJNSEQUENCE |
De Bruijn Sequence | Graphs -> De Bruijn Sequence |
- | - | hard |
- | Map / Ladder / Tutorial | Note | Code |
SUBTREEQUERIES |
Subtree Queries | Graphs -> Euler Tour / Subtree Queries |
Graphs -> Trees; Data Structures -> Fenwick Tree | euler tour flattening; subtree interval; fenwick point set range sum | medium |
CSES, Tree algorithms | Map / Ladder / Tutorial | Note | Code |
DYNAMICTREEVERTEXADDSUBTREESUM |
Dynamic Tree Vertex Add Subtree Sum | Graphs -> Euler Tour Tree |
- | - | very hard |
- | Map / Ladder / Tutorial | Note | Code |
MAILDELIVERY |
Mail Delivery | Graphs -> Eulerian Path / Cycle |
- | - | medium |
- | Map / Ladder / Tutorial | Note | Code |
FFLOW |
Fast Maximum Flow | Graphs -> Maximum Flow |
Advanced -> Algorithm Engineering | maximum flow; undirected capacities; capacity scaling | medium |
VN SPOJ, ICPC-style | Map / Ladder / Tutorial | Note | Code |
MAXIMUMFLOWPUSHRELABEL |
Maximum Flow | Graphs -> Maximum Flow |
- | - | medium |
- | Map / Ladder / Tutorial | Note | Code |
MINCOST |
Luồng với chi phí nhỏ nhất | Graphs -> Maximum Flow |
Graphs -> Min-Cost Flow | transportation network; flow reconstruction; duplicate-edge overwrite | hard |
VN SPOJ, ICPC-style | Map / Ladder / Tutorial | Note | Code |
POLICECHASE |
Police Chase | Graphs -> Maximum Flow |
Advanced -> Optimization And Duality | unit capacity max flow; residual reachable cut; minimum edge cut certificate | medium |
CSES, Graph algorithms | Map / Ladder / Tutorial | Note | Code |
REACTORCOOLING |
Reactor Cooling | Graphs -> Maximum Flow |
Graphs -> Flow With Lower Bounds | feasible circulation; lower bounds; flow reconstruction | hard |
Codeforces acmsguru, Advanced techniques | Map / Ladder / Tutorial | Note | Code |
GENERALMATCHING |
Matching on General Graph | Graphs -> Edmonds Blossom / General Matching |
- | - | hard |
- | Map / Ladder / Tutorial | Note | Code |
GLOBALMINCUT |
Minimum Cut | Graphs -> Randomized / Global Min-Cut |
- | - | hard |
- | Map / Ladder / Tutorial | Note | Code |
MCQUERY |
MinCut Query | Graphs -> Gomory-Hu Tree |
Data Structures -> DSU; Graphs -> Trees | all-pairs min-cut; cut tree; count pairs by threshold | hard |
VN SPOJ, ICPC-style | Map / Ladder / Tutorial | Note | Code |
BUILDINGROADS |
Building Roads | Graphs -> Graph Modeling |
- | connected components; component representatives; constructive graph connection | easy |
CSES, Graph algorithms | Map / Ladder / Tutorial | Note | Code |
COUNTINGROOMS |
Counting Rooms | Graphs -> Graph Modeling |
Graphs -> BFS And DFS | grid graph modeling; iterative flood fill; connected components | easy |
CSES, Graph algorithms | Map / Ladder / Tutorial | Note | Code |
PATHQUERIES2 |
Path Queries II | Graphs -> Heavy-Light Decomposition |
Graphs -> Trees; Data Structures -> Segment Tree | heavy light decomposition; path query decomposition; segment tree on base array | medium |
CSES, Tree algorithms | Map / Ladder / Tutorial | Note | Code |
TASKASSIGNMENT |
Task Assignment | Graphs -> Hungarian / Assignment Problem |
- | - | hard |
- | Map / Ladder / Tutorial | Note | Code |
COMPANYQUERIES2 |
Company Queries II | Graphs -> LCA |
Graphs -> Trees | binary lifting; depth equalization; lowest common ancestor | medium |
CSES, Tree algorithms | Map / Ladder / Tutorial | Note | Code |
DYNAMICTREEVERTEXADDPATHSUM |
Dynamic Tree Vertex Add Path Sum | Graphs -> Link-Cut Tree |
- | - | very hard |
- | Map / Ladder / Tutorial | Note | Code |
QBFLOWER |
Tặng hoa | Graphs -> Matching |
- | minimum edge cover; general matching; graph transformation | medium |
VN SPOJ, OI-style | Map / Ladder / Tutorial | Note | Code |
SCHOOLDANCE |
School Dance | Graphs -> Matching |
- | - | medium |
- | Map / Ladder / Tutorial | Note | Code |
ROADREPARATION |
Road Reparation | Graphs -> Minimum Spanning Tree |
- | kruskal mst; connectivity check; cut property greedy | medium |
CSES, Graph algorithms | Map / Ladder / Tutorial | Note | Code |
COURSESCHEDULE |
Course Schedule | Graphs -> Topological Sort And SCC |
- | kahn topological sort; indegree peeling; cycle by failed ordering | medium |
CSES, Graph algorithms | Map / Ladder / Tutorial | Note | Code |
QOS |
Chất lượng dịch vụ | Graphs -> Shortest Paths |
DP -> Foundations | shortest path plus dp; kth lexicographic path; bounded slack states | hard |
VN SPOJ, OI-style | Map / Ladder / Tutorial | Note | Code |
STABLEMARRIAGE |
Stable Marriage | Graphs -> Stable Marriage |
- | - | medium |
- | Map / Ladder / Tutorial | Note | Code |
VOSTRIP |
VOSTRIP | Graphs -> Tree DP |
DP -> Tree DP; Graphs -> Trees | tree endpoint pairing; path decomposition; local imbalance formula | hard |
VN SPOJ, OI-style | Map / Ladder / Tutorial | Note | Code |
TREEISOMORPHISM1 |
Tree Isomorphism I | Graphs -> Tree Isomorphism |
- | - | hard |
- | Map / Ladder / Tutorial | Note | Code |
MTREECOL |
Color a tree | Graphs -> Trees |
- | ratio greedy; tree contraction; exchange argument | hard |
VN SPOJ, OI-style | Map / Ladder / Tutorial | Note | Code |
VMWTREE |
Lại là cây khung | Graphs -> Trees |
Data Structures -> Segment Tree; Graphs -> Heavy-Light Decomposition | path reverse; path sequence queries; heavy-light decomposition | hard |
VN SPOJ, OI-style | Map / Ladder / Tutorial | Note | Code |
GIANTPIZZA |
Giant Pizza | Graphs -> Two-SAT |
Graphs -> Graph Modeling; Graphs -> Topological Sort And SCC | 2-sat; implication graph; assignment extraction | medium |
CSES, Graph algorithms | Map / Ladder / Tutorial | Note | Code |
KINGDOMANDITSCITIES |
Kingdom and its Cities | Graphs -> Virtual Tree / Auxiliary Tree |
- | - | very hard |
- | Map / Ladder / Tutorial | Note | Code |
DP¶
| Code | Title | Primary | Also Fits | Pattern | Difficulty | Track | Learn | Note | Solution |
|---|---|---|---|---|---|---|---|---|---|
SCHOOLEXCURSION |
School Excursion | DP -> Bit-Parallelism / Bitset Optimization |
- | - | hard |
- | Map / Ladder / Tutorial | Note | Code |
VMMARBLE |
Phân loại bi | DP -> Bitmask DP |
Advanced -> Constructive | final-color assignment; residual-state dp; capacity-2 moves | medium |
VN SPOJ, OI-style | Map / Ladder / Tutorial | Note | Code |
COUNTINGTILINGS |
Counting Tilings | DP -> Broken Profile / Plug DP |
- | - | hard |
- | Map / Ladder / Tutorial | Note | Code |
LINEADDGETMIN |
Line Add Get Min | DP -> Convex Hull Trick / Li Chao Tree |
- | - | medium |
- | Map / Ladder / Tutorial | Note | Code |
MONSTERGAME2 |
Monster Game II | DP -> Convex Hull Trick / Li Chao Tree |
- | li chao tree; affine dp; online line minimum | hard |
CSES, Dynamic programming | Map / Ladder / Tutorial | Note | Code |
COUNTINGNUMBERS |
Counting Numbers | DP -> Digit DP |
- | digit dp; previous digit state; range counting | medium |
CSES, Dynamic programming | Map / Ladder / Tutorial | Note | Code |
CIELANDGONDOLAS |
Ciel and Gondolas | DP -> Divide and Conquer DP |
- | - | very hard |
- | Map / Ladder / Tutorial | Note | Code |
VMSCALE |
Chiếc cân kỳ diệu | DP -> Foundations |
Math -> Number Theory Basics | budget dp; balanced ternary; decision-tree optimization | hard |
VN SPOJ, OI-style | Map / Ladder / Tutorial | Note | Code |
BITWISEXORCONVOLUTION |
Bitwise XOR Convolution | DP -> FWHT / XOR Convolution / Subset Convolution |
- | - | hard |
- | Map / Ladder / Tutorial | Note | Code |
REMOVALGAME |
Removal Game | DP -> Interval DP |
- | score difference dp; take from ends; interval minimax | medium |
CSES, Dynamic programming | Map / Ladder / Tutorial | Note | Code |
BOOKSHOP |
Book Shop | DP -> Knapsack Family |
Advanced -> Complexity And Hardness | 0 1 knapsack; downward capacity loop; budget value maximization | easy |
CSES, Dynamic programming | Map / Ladder / Tutorial | Note | Code |
KNUTHDIVISION |
Knuth Division | DP -> Knuth Optimization |
- | - | hard |
- | Map / Ladder / Tutorial | Note | Code |
REDANDBLUELAMPS |
Red and Blue Lamps | DP -> Lagrangian Relaxation / Aliens Trick |
- | - | hard |
- | Map / Ladder / Tutorial | Note | Code |
SLIDINGWINDOWMINIMUM |
Sliding Window Minimum | DP -> Sliding Window And Window DP |
- | - | medium |
- | Map / Ladder / Tutorial | Note | Code |
TFIELD |
Ruộng bậc thang | DP -> Sliding Window And Window DP |
Foundations -> Two Pointers; Geometry -> Polygon Area And Point Location | nested polygons; weighted sliding window; shoelace preprocessing | hard |
VN SPOJ, OI-style | Map / Ladder / Tutorial | Note | Code |
SNUKETOON |
Snuketoon | DP -> Slope Trick |
- | - | hard |
- | Map / Ladder / Tutorial | Note | Code |
COMPATIBLENUMBERS |
Compatible Numbers | DP -> SOS DP |
- | - | 2200 |
- | Map / Ladder / Tutorial | Note | Code |
TREEDISTANCES2 |
Tree Distances II | DP -> Tree DP |
- | - | medium |
- | Map / Ladder / Tutorial | Note | Code |
TREEMATCHING |
Tree Matching | DP -> Tree DP |
Graphs -> Trees | tree matching dp; matched or unmatched state; child swap contribution | medium |
CSES, Tree algorithms | Map / Ladder / Tutorial | Note | Code |
Greedy¶
| Code | Title | Primary | Also Fits | Pattern | Difficulty | Track | Learn | Note | Solution |
|---|---|---|---|---|---|---|---|---|---|
HUFFMANCODING |
Huffman Coding Benchmark | Greedy -> Huffman / Data Compression |
- | - | medium |
- | Map / Ladder / Tutorial | Note | Code |
LEMONADELINE |
Lemonade Line | Greedy -> Prefix Constraints |
Foundations -> Sorting | descending tolerance order; prefix feasibility count; minimize accepted arrivals | easy |
USACO, Greedy | Map / Ladder / Tutorial | Note | Code |
PREFIXSUMADDICTS |
Prefix Sum Addicts | Greedy -> Prefix Constraints |
Foundations -> Prefix Sums | suffix prefix differences; sorted sequence feasibility; first block capacity bound | medium |
Codeforces, Greedy | Map / Ladder / Tutorial | Note | Code |
VODIVIDE |
Chia phần | Greedy -> Prefix Constraints |
- | prefix quota greedy; heap maintenance; pair reconstruction | hard |
VN SPOJ, OI-style | Map / Ladder / Tutorial | Note | Code |
Math¶
| Code | Title | Primary | Also Fits | Pattern | Difficulty | Track | Learn | Note | Solution |
|---|---|---|---|---|---|---|---|---|---|
KTHTERMOFLINEARLYRECURRENTSEQUENCE |
K-th Term of Linearly Recurrent Sequence | Math -> Berlekamp-Massey / Kitamasa |
- | - | hard |
- | Map / Ladder / Tutorial | Note | Code |
DISCRETELOGARITHMMOD |
Discrete Logarithm Mod | Math -> BSGS / Discrete Log |
- | - | hard |
- | Map / Ladder / Tutorial | Note | Code |
GENERALCHINESEREMAINDER |
Chinese Remainder Theorem (non-relatively prime moduli) | Math -> Chinese Remainder And Linear Congruences |
- | - | medium |
- | Map / Ladder / Tutorial | Note | Code |
SUMOFDIVISORS |
Sum of Divisors | Math -> Dirichlet Convolution / Prefix Sums Of Number-Theoretic Functions |
- | - | medium |
- | Map / Ladder / Tutorial | Note | Code |
CONVOLUTION |
Convolution | Math -> FFT And NTT |
- | - | medium |
- | Map / Ladder / Tutorial | Note | Code |
POST2 |
A cộng B version 2 | Math -> FFT And NTT |
- | convolution; digit aggregation; big integer addition | medium |
VN SPOJ, ICPC-style | Map / Ladder / Tutorial | Note | Code |
SNIM |
S-Nim | Math -> Game Theory / Sprague-Grundy |
- | - | medium |
- | Map / Ladder / Tutorial | Note | Code |
SYSTEMOFLINEAREQUATIONS |
System of Linear Equations | Math -> Gaussian Elimination And Linear Algebra |
- | - | hard |
- | Map / Ladder / Tutorial | Note | Code |
COMMONDIVISORS |
Common Divisors | Math -> GCD And LCM |
Math -> Number Theory Basics | divisor frequency scan; count multiples; maximize pair gcd | medium |
CSES, Mathematics | Map / Ladder / Tutorial | Note | Code |
CRYPTKEY |
Chìa khóa mã số | Math -> GCD And LCM |
Math -> Number Theory Basics | gcd-lcm closure; prime-power characterization; constructibility | hard |
VN SPOJ, OI-style | Map / Ladder / Tutorial | Note | Code |
EUCLIDPROBLEM |
Euclid Problem | Math -> GCD And LCM |
- | - | medium |
- | Map / Ladder / Tutorial | Note | Code |
GCDONBLACKBOARD |
GCD on Blackboard | Math -> GCD And LCM |
Math -> Number Theory Basics | prefix suffix gcd; remove one element; maximize array gcd | medium |
AtCoder, Number theory | Map / Ladder / Tutorial | Note | Code |
THROWINGDICE |
Throwing Dice | Math -> Linear Recurrence And Matrix Exponentiation |
- | linear recurrence; companion matrix; matrix exponentiation | medium |
CSES, Mathematics | Map / Ladder / Tutorial | Note | Code |
BINOMIALCOEFFICIENTPRIMEMOD |
Binomial Coefficient (Prime Mod) | Math -> Lucas Theorem And Large Binomial Mod Prime |
- | - | medium |
- | Map / Ladder / Tutorial | Note | Code |
SUMOFTOTIENTFUNCTION |
Sum of Totient Function | Math -> Min_25 / Du Jiao |
- | - | hard |
- | Map / Ladder / Tutorial | Note | Code |
COUNTINGCOPRIMEPAIRS |
Counting Coprime Pairs | Math -> Mobius And Multiplicative Counting |
- | - | medium |
- | Map / Ladder / Tutorial | Note | Code |
EXPONENTIATION |
Exponentiation | Math -> Modular Arithmetic |
- | binary exponentiation; repeated squaring; modular fast power | easy |
CSES, Mathematics | Map / Ladder / Tutorial | Note | Code |
EXPONENTIATION2 |
Exponentiation II | Math -> Modular Arithmetic |
- | binary exponentiation; fermat exponent reduction; zero exponent edge case | medium |
CSES, Mathematics | Map / Ladder / Tutorial | Note | Code |
SQRTMOD |
Sqrt Mod | Math -> Modular Square Root / Discrete Root |
- | - | hard |
- | Map / Ladder / Tutorial | Note | Code |
COUNTINGDIVISORS |
Counting Divisors | Math -> Number Theory Basics |
Math -> GCD And LCM | divisor sieve; many queries preprocessing; divisor counting | easy |
CSES, Mathematics | Map / Ladder / Tutorial | Note | Code |
LAMP |
Dàn đèn màu | Math -> Number Theory Basics |
Math -> GCD And LCM; Combinatorics -> Inclusion-Exclusion | density formula; pairwise coprime products; big integer fractions | hard |
VN SPOJ, OI-style | Map / Ladder / Tutorial | Note | Code |
FACTORIZE |
Factorize | Math -> Pollard-Rho |
- | - | hard |
- | Map / Ladder / Tutorial | Note | Code |
INVOFFORMALPOWERSERIES |
Inv of Formal Power Series | Math -> Polynomial / Formal Power Series |
- | - | hard |
- | Map / Ladder / Tutorial | Note | Code |
PRIMITIVEROOT |
Primitive Root | Math -> Primitive Root |
- | - | hard |
- | Map / Ladder / Tutorial | Note | Code |
DICEPROBABILITY |
Dice Probability | Math -> Probability |
- | - | medium |
- | Map / Ladder / Tutorial | Note | Code |
XMAX |
XOR Maximization | Math -> XOR Basis / Linear Basis |
- | - | medium |
- | Map / Ladder / Tutorial | Note | Code |
Combinatorics¶
| Code | Title | Primary | Also Fits | Pattern | Difficulty | Track | Learn | Note | Solution |
|---|---|---|---|---|---|---|---|---|---|
VOSFENCE |
Xay hang rao | Combinatorics -> Bounded Compositions |
Combinatorics -> Counting Basics; Combinatorics -> Inclusion-Exclusion | bounded compositions; run decomposition; gap distribution | hard |
VN SPOJ, OI-style | Map / Ladder / Tutorial | Note | Code |
COUNTINGNECKLACES |
Counting Necklaces | Combinatorics -> Burnside / Pólya / Group Actions |
Math -> Modular Arithmetic | burnside lemma; rotation symmetry; orbit counting | hard |
CSES, Mathematics | Map / Ladder / Tutorial | Note | Code |
DISTRIBUTINGAPPLES |
Distributing Apples | Combinatorics -> Counting Basics |
Math -> Modular Arithmetic | stars and bars; single binomial query; factorial precompute | medium |
CSES, Mathematics | Map / Ladder / Tutorial | Note | Code |
PRIMEMULTIPLES |
Prime Multiples | Combinatorics -> Inclusion-Exclusion |
Math -> Number Theory Basics | subset inclusion exclusion; overflow safe lcm product; count divisible numbers | medium |
CSES, Mathematics | Map / Ladder / Tutorial | Note | Code |
VOITSORT |
Cây hoán vị | Combinatorics -> Lexicographic Enumeration |
Graphs -> Trees | lexicographic enumeration; stack-sortability; cartesian tree view | hard |
VN SPOJ, OI-style | Map / Ladder / Tutorial | Note | Code |
Strings¶
| Code | Title | Primary | Also Fits | Pattern | Difficulty | Track | Learn | Note | Solution |
|---|---|---|---|---|---|---|---|---|---|
FINDINGPATTERNS |
Finding Patterns | Strings -> Aho-Corasick |
Strings -> Trie | aho-corasick automaton; failure links; multi-pattern presence queries | medium |
CSES, String algorithms | Map / Ladder / Tutorial | Note | Code |
DISTINCTPALINDROMICSUBSTRINGS |
Distinct Palindromic Substrings | Strings -> Eertree / Palindromic Tree |
- | - | medium |
- | Map / Ladder / Tutorial | Note | Code |
FINDINGBORDERS |
Finding Borders | Strings -> Hashing |
Advanced -> Randomized Algorithms | rolling hash; prefix-suffix equality; proper borders enumeration | easy |
CSES, String algorithms | Map / Ladder / Tutorial | Note | Code |
STRINGMATCHING |
String Matching | Strings -> KMP |
- | prefix function; border fallback; overlapping occurrence counting | easy |
CSES, String algorithms | Map / Ladder / Tutorial | Note | Code |
LONGESTPALINDROME |
Longest Palindrome | Strings -> Palindromes / Manacher |
- | manacher; odd/even centers; longest palindromic substring | medium |
CSES, String algorithms | Map / Ladder / Tutorial | Note | Code |
REGEXMEMBERSHIP |
Regex Membership | Strings -> Regular Expressions / Finite Automata |
- | - | medium |
- | Map / Ladder / Tutorial | Note | Code |
REPEATINGSUBSTRING |
Repeating Substring | Strings -> Suffix Array And LCP |
- | suffix array doubling; kasai lcp; maximum adjacent lcp | medium |
CSES, String algorithms | Map / Ladder / Tutorial | Note | Code |
DISTINCTSUBSTRINGS |
Distinct Substrings | Strings -> Suffix Automaton |
Strings -> Suffix Array And LCP | suffix automaton construction; clone states; state contribution counting | medium |
CSES, String algorithms | Map / Ladder / Tutorial | Note | Code |
PATTERNPOSITIONS |
Pattern Positions | Strings -> Suffix Tree |
- | - | hard |
- | Map / Ladder / Tutorial | Note | Code |
WORDCOMBINATIONS |
Word Combinations | Strings -> Trie |
- | trie plus dp; dictionary segmentation; suffix counting | medium |
CSES, String algorithms | Map / Ladder / Tutorial | Note | Code |
FINDINGPERIODS |
Finding Periods | Strings -> Z-Function |
Strings -> KMP | period detection; z function prefix matches; suffix prefix coverage | easy |
CSES, String algorithms | Map / Ladder / Tutorial | Note | Code |
STRINGFUNCTIONS |
String Functions | Strings -> Z-Function |
Strings -> KMP | z function; prefix function; prefix structure diagnostics | easy |
CSES, String algorithms | Map / Ladder / Tutorial | Note | Code |
Geometry¶
| Code | Title | Primary | Also Fits | Pattern | Difficulty | Track | Learn | Note | Solution |
|---|---|---|---|---|---|---|---|---|---|
CONVEXHULL |
Convex Hull | Geometry -> Convex Hull |
Geometry -> Vector And Orientation | andrew monotone chain; strict turn pop; boundary collinear points | medium |
CSES, Geometry | Map / Ladder / Tutorial | Note | Code |
BIGBROTHER |
Big Brother | Geometry -> Half-Plane Intersection |
- | - | medium |
- | Map / Ladder / Tutorial | Note | Code |
MOGOHUREAIDOL |
Mogohu-Rea Idol | Geometry -> Minkowski Sum |
- | - | very-hard |
- | Map / Ladder / Tutorial | Note | Code |
CLOSESTPAIR |
Closest Pair | Geometry -> Nearest Pair of Points |
- | - | medium |
- | Map / Ladder / Tutorial | Note | Code |
POINTINPOLYGON |
Point in Polygon | Geometry -> Polygon Area And Point Location |
Geometry -> Vector And Orientation; Geometry -> Segment Intersection | ray casting parity; boundary classification; on segment test | medium |
CSES, Geometry | Map / Ladder / Tutorial | Note | Code |
POLYGONAREA |
Polygon Area | Geometry -> Polygon Area And Point Location |
Geometry -> Vector And Orientation | shoelace formula; signed area accumulation; integer polygon area | easy |
CSES, Geometry | Map / Ladder / Tutorial | Note | Code |
PRAVO |
Tam giác vuông | Geometry -> Right Triangles |
Advanced -> Algorithm Engineering; Geometry -> Counting Geometry; Geometry -> Vector And Orientation | count right triangles; normalized directions; perpendicular pairing | medium |
VN SPOJ, OI-style | Map / Ladder / Tutorial | Note | Code |
LINESEGMENTINTERSECTION |
Line Segment Intersection | Geometry -> Segment Intersection |
Geometry -> Vector And Orientation | orientation test; on segment inclusion; collinear overlap handling | easy |
CSES, Geometry | Map / Ladder / Tutorial | Note | Code |
KINGDOMS |
KINGDOMS | Geometry -> Sweep Line |
Graphs -> Trees; Geometry -> Polygon Area And Point Location | laminar regions; sweep events; containment tree | hard |
VN SPOJ, OI-style | Map / Ladder / Tutorial | Note | Code |
VOTELPH |
Bà Nà | Geometry -> Sweep Line |
Geometry -> Polygon Area And Point Location | piecewise maximum; endpoint preprocessing; parabola envelopes | hard |
VN SPOJ, ICPC-style | Map / Ladder / Tutorial | Note | Code |
POINTLOCATIONTEST |
Point Location Test | Geometry -> Vector And Orientation |
- | cross product orientation; signed area test; turn classification | easy |
CSES, Geometry | Map / Ladder / Tutorial | Note | Code |
Advanced¶
| Code | Title | Primary | Also Fits | Pattern | Difficulty | Track | Learn | Note | Solution |
|---|---|---|---|---|---|---|---|---|---|
MINIMUMEUCLIDEANDISTANCE |
Minimum Euclidean Distance | Advanced -> Algorithm Engineering |
Geometry -> Sweep Line | closest pair sweep line; active strip by x distance; ordered set by y | hard |
CSES, Geometry | Map / Ladder / Tutorial | Note | Code |
BUILDTHEPERMUTATION |
Build the Permutation | Advanced -> Constructive |
- | alternating core construction; local extrema counting; monotone leftover tail | medium |
Codeforces, Constructive | Map / Ladder / Tutorial | Note | Code |
VMCOINS |
Trò chơi với những đồng xu | Advanced -> Constructive |
Geometry -> Vector And Orientation | promise-driven constructive; translation matching; small residual search | hard |
VN SPOJ, OI-style | Map / Ladder / Tutorial | Note | Code |
LINEARREGRESSIONGD |
Linear Regression Gradient Descent Benchmark | Advanced -> Gradient Descent |
- | - | medium |
- | Map / Ladder / Tutorial | Note | Code |
PERCEPTRONCLASSIFICATION |
Perceptron Classification Benchmark | Advanced -> Machine Learning Algorithms |
- | - | medium |
- | Map / Ladder / Tutorial | Note | Code |
PICKYOUROWNNIM |
Pick Your Own Nim | Advanced -> Matroid Intersection |
- | - | very-hard |
- | Map / Ladder / Tutorial | Note | Code |
MEETINTHEMIDDLE |
Meet in the Middle | Advanced -> Meet-In-The-Middle |
- | - | medium-hard |
- | Map / Ladder / Tutorial | Note | Code |
SKIRENTAL |
Ski Rental | Advanced -> Online Algorithms |
- | - | medium |
- | Map / Ladder / Tutorial | Note | Code |
PARALLELPREFIXSUM |
Parallel Prefix Sum Benchmark | Advanced -> Parallel Algorithms |
- | - | medium |
- | Map / Ladder / Tutorial | Note | Code |
DEUTSCHJOZSA |
Deutsch-Jozsa Oracle Benchmark | Advanced -> Quantum Algorithms |
- | - | medium |
- | Map / Ladder / Tutorial | Note | Code |
CHEESEIFYOUPLEASE |
Cheese, If You Please | Advanced -> Simplex |
- | - | hard |
- | Map / Ladder / Tutorial | Note | Code |
Maintenance¶
Regenerate the catalog and topic maps with:
python3 scripts/generate_problem_catalog.py