My competitive programming repo, with resources and codes that I like it ❤️
I like these videos to introduce competitive programming to a new person:
- What is Competitive Programming? (Willian Lin)
- How to start Competitive Programming? For beginners! (Errichto)
- Codeforces
- Atcoder
- SPOJ
- Uri Online Judge
- E-Maxx Algorithms in English
- The Ultimate Topic List (Codeforces)
And many others, sky is the limit :)
-
Binary Search and Ternary Search 😄
-
Dynamic Programming ❤️
- Digit DP
- Knapsack
- Broken Profile DP
- Divide and conquer DP
- Expected Value
- Suffix sum - Recursive DP
- Kadane and Circular Kadane
- Largest square of 1’s
- Longest common subsequence
- Longest increasing subsequence
- Matrix path with maximum sum
- Count substring ocurrences
- Tip DP
- SOS DP
- Aliens Trick
- Convex Hull Trick
- Dynamic Convex Hull Trick
- Li-Chao Tree
- Exchange Arguments
- Bitwise DIgit DP
- Subset Sum
- Steiner Tree
- Inclusion Exclusion
- Permutation Counting
- Optimization with FFT
-
Geometry 😠
-
Graphs ❤️
- BFS
- DFS
- Dijkstra
- Floyd Warshall
- Bipartite Check
- Bipartite DSU
- Number of Connected Components on Segments
- Kruskal
- Prim
- Topological Sort
- DSU
- DSU with rollback
- Eulerian Path
- Cycle Detection
- Find Bridges
- Find Articulation Points
- SCCs & Condensation Graph
- 2-SAT
- Strong Orientation
- Block Cut Tree
- Stable Matching
- Erdos Gallai
- Dominator Tree
- Notes
- Segtree Graph
- Chordal Graph
-
Trees ❤️
- Lowest Common Ancestor
- RMQ on tree using LCA
- Diameter of a tree
- Euler Tour
- Reroot
- Centroid Decomposition
- HLD (Vertex cost)
- HLD (Edge cost)
- Mo's Algorithm on Trees
- Mo's Algorithm on Trees (Edge cost)
- Tree Isomorfism
- Sack (dsu on tree)
- Link Cut Tree (Edge cost)
- Link Cut Tree (Vertex cost)
- Virtual Tree
-
Flows and Matchings ❤️
-
Math 😠
- Modular Operations Template
- Fractions Template
- Prime Factorization
- Sieve
- Segmented Sieve
- Chinese Remainder Theorem
- Diophantine Equations
- FFT
- NTT
- Gaussian Elimination
- Gaussian Elimination mod 2
- Matrix Exponentiation
- Pollard Rho
- Lagrange Interpolation
- Xor Trie
- Mobius Inversion
- Euler Totient Function
- Stars and Bars
- Maximum Xor Subsequence
- FWHT
- Berlekamp Massey
- Simplex
- Chicken Mcnugget Theorem
- Catalan Numbers
- Matrix inverse and matrix determinant
- CRT trick
- Markov chain
-
Strings 😄
-
Data Structures ❤️
- Segtree
- Lower Bound on segtree
- Segtree 2D
- Iterative Segtree
- Implicit Segtree
- Segtree with Lazy Propagation
- Arithmetic Progression Segtree
- Segment with Maximum/Minimum sum Segtree
- Fenwick Tree
- Fenwick Tree with Range Update
- Fenwick Tree 2D
- Fenwick Tree 2D (with cordinate compression)
- Merge Sort Tree
- Merge Sort Tree (BIT)
- Min Queue
- Persistent Segtree
- Sparse Table
- Sparse Table (Binary Lifting)
- Mo's algorithm
- Mo's algorithm with Update
- Treap
- Color Update
- RMQ
-
Miscellaneous 😄
- 2025-2026 ACM-ICPC Brazil Subregional Programming Contest
- 2025-2026 ACM-ICPC Latin American Regional Programming Contest
- SBC Brazilian Phase Zero 2025
- The 2025 ICPC Latin America Championship
- 2024-2025 ACM-ICPC Brazil Subregional Programming Contest
- 2024-2025 ACM-ICPC Latin American Regional Programming Contest
- The 2024 ICPC Latin America Championship
- 2023-2024 ACM-ICPC Brazil Subregional Programming Contest
- 2023-2024 ACM-ICPC Latin American Regional Programming Contest
- 2022-2023 ACM-ICPC Brazil Subregional Programming Contest
- 2022-2023 ACM-ICPC Latin American Regional Programming Contest
- 2021-2022 ACM-ICPC Brazil Subregional Programming Contest
- 2021-2022 ACM-ICPC Latin American Regional Programming Contest
- 2020-2021 ACM-ICPC Brazil Subregional Programming Contest
- 2020-2021 ACM-ICPC Latin American Regional Programming Contest
- 2019-2020 ACM-ICPC Brazil Subregional Programming Contest
- 2019-2020 ACM-ICPC Latin American Regional Programming Contest
- 2018-2019 ACM-ICPC Brazil Subregional Programming Contest
- 2018-2019 ACM-ICPC Latin American Regional Programming Contest
- 2017-2018 ACM-ICPC Brazil Subregional Programming Contest
- 2017-2018 ACM-ICPC Latin American Regional Programming Contest
- 2013-2014 ACM-ICPC Brazil Subregional Programming Contest
- 2023 Argentinian Programming Tournament (TAP)
- UFPE Starters Final Try-Outs 2020
- UFPE Starters Final Try-Outs 2021
Made with ❤️