Skip to content

This repository will contain information about our notebook (team reference document)

License

Notifications You must be signed in to change notification settings

ctrl-alt-Defeat-icpc/notebook

Repository files navigation

Team Reference Document

Available for Download

  • Nutella (Hakim Sabzevari - icpc 2023): pdf, docx
  • Kolompeh (Sharif University of Technology): pdf, repo
  • MIT notebook: pdf
  • Stanford University notebook: pdf, repo
  • kactl university notebook: pdf, repo
  • Beheshti University notebook: pdf, repo
🎈 more detail

Essential Codes for Your ICPC Notebook

  1. Data Structures:
    • Segment Trees (including lazy propagation)
    • Fenwick Tree (BIT)
    • Union-Find / Disjoint Set (with path compression and union by rank)
    • Trie (for strings and numbers)
    • Deque (for sliding window problems)
  2. Graph Algorithms:
    • BFS / DFS (including for connected components)
    • Dijkstra’s and Bellman-Ford (shortest paths)
    • Floyd-Warshall (all-pairs shortest path)
    • Topological Sorting
    • Minimum Spanning Tree (Kruskal’s and Prim’s)
    • Max Flow (Ford-Fulkerson or Edmonds-Karp)
  3. Dynamic Programming (DP):
    • Basic templates (Knapsack, LIS, LCS)
    • Matrix exponentiation
    • Bitmask DP
  4. Math & Number Theory:
    • Modular arithmetic functions (GCD, LCM, mod inverse)
    • Sieve of Eratosthenes
    • Prime factorization
    • Fast exponentiation
    • Combinatorics functions (factorial, nCr, Catalan numbers)
  5. String Algorithms:
    • KMP and Z-algorithm (pattern matching)
    • Rabin-Karp (rolling hash)
    • Suffix array and LCP array
    • Trie operations
  6. Geometry:
    • Convex hull (Graham's scan)
    • Line intersection
    • Rotating calipers
  7. Sorting and Searching:
    • Custom comparator templates
    • Binary search
    • Merge sort, Quick sort
  8. Miscellaneous:
    • Fast I/O templates
    • Randomized algorithms (for problems like randomized quicksort)
    • Bit manipulation tricks
    • Cartesian Tree (for range query optimization)