Skip to content

xxyyzz/algorithms-practice

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 

Repository files navigation

Algorithms/DS relevant for ICPC

Basic

  1. Modular Exponentiation
  2. Sorting
  3. Sieve of Eratosthenes
  4. Binary Search

Graphs

  1. Union Find
  2. Strongly Connected Components
  3. Euler Walk
  4. Articulation Points
  5. Bridges
  6. Bridge Tree
  7. Topological Sorting
  8. Dijkstra
  9. Floyd Warshall
  10. Bellman Ford
  11. Minimum Spanning Tree (Kruskal/Prim)
  12. Lowest Common Ancestor
  13. Centroid Decomposition
  14. Flows (Dinic/Edmonds Karp)
  15. Matching (Hungarian Algorithm)
  16. 2-SAT
  17. Bellman Ford

Data Structures

  1. Segment Tree
  2. 2D Segment Tree
  3. Implicit Segment Tree
  4. Binary Indexed Tree
  5. STL (set/priority_queue/map/stack/queue/list/deque)
  6. Binary Search Tree
  7. Sparse Table

Strings

  1. Hashing
  2. Trie
  3. KMP
  4. Aho Corasick
  5. Suffix Array/Tree

Number Theory/Math

  1. ETF
  2. Mobius Inversion
  3. FFT
  4. Chinese Remainder Theorem
  5. Complex Library (C++)
  6. Inclusion/Exclusion
  7. Extended Euclid
  8. Diophantine Equation
  9. Discrete Logarithm
  10. Modular Inverse
  11. Burnside's Lemma

Matrix

  1. Matrix Exponentiation
  2. Gaussian Elimination

Geometry

  1. Various forms for area of triangle (three point form, side length form etc.)
  2. If x lies on line segment a -- b
  3. If segment a -- b intersects with p -- q
  4. Point in Polygon problem
  5. Pick's Theorem

Dynamic Programming

  1. Convex Hull Optimization
  2. Knuth Optimization
  3. DP with bitmasks

Game Theory

  1. Nim
  2. Hackenbush
  3. Grundy Numbers

Miscellaneous

  1. Line Sweep Algorithms
  2. Square Root Decomposition
  3. Mo's Algorithm

Advanced

  1. Heavy Light Decomposition
  2. Persistent Data Structures
  3. Treaps

About

List of Algorithms/DS... Will be updated frequently

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published