Mastering Algorithm and Competitive Programming in Python, PYPY
- The Master Template works with all versions of Python and has Python 3 behavior.
- Version Specific Templates: PyPy 2, Python 3
Algebra
- (Multivariable) Chinese Remainder Theorem
- Discrete Logarithm
- LCM and GCD
- Integer Factorization
- Fast Fourier Transform
- Fast Subset Transform
- Number Theoretic Transform
- Deterministic Miller-Rabin Primality Test
- Tonelli–Shanks Algorithm
- Generalized Modular Inverse
- Euler's Phi Function
- Primitive Root
- Sieve of Eratosthenes
- Pronic Numbers
- Trimorphic Number
Data Structures
- Bit Array
- Binary Indexed (Fenwick) Tree
- Fractions
- Continued Fractions
- Disjoint-Set (Union Find) Data Structure
- Generic Nodes
- Linked List
- Range Query Data Structure
- (Lazy) Segment Tree
- Persistent Segment Tree
- Sorted List
- Treap
- Trie Tree
- 2-satisfiability Template
Geometry
- Convex Hull
- Line Functions
- Polygon Functions
- Vector Functions
Graphs
- Bellman-Ford Algorithm
- Breadth-First Search
- Connected Components Search
- Brent's Algorithm for Cycle Detection
- Depth First Search
- Dijkstra's Algorithm
- Eulerian Path
- Path Constructor
- Floyd-Warshall Algorithm
- Bipartite Graph Check
- Kruskal's Algorithm with Disjoin Set Union
- Prim's Algorithm
- Tarjan's Algorithm
- Topological Sorting
- Bipartite Graph
Numerical
- Linear Recurrence Template
- Hill Climbing Algorithm
- Approximate Integration
- Polynomial Interpolation
- Integer Roots
- Binary Search
Strings
- Distinct-Palindromic-Substrings
- Knuth–Morris–Pratt Algorithm
- Longest Common/Palindromic Subsequences
- Longest Common Substring
- Longest Palindromic Substring
- Manacher's Algorithm
- Lydon Factorization
- Z Algorithm
- Rabin-Karp Algorithm
- Concatenation of two strings
- Initials of name
- Longest Prefix Suffix
Email: dscvssutburla@gmail.com
Assigned Person: Aitik Dandapat
Email: aitik2000@gmail.com