Competitive Programming Collection of some useful algorithms for competitive programming. Mainly in c++ Content Brute Force Brute Force && Bitwise Operations Sorting and Searching Dynamic Programming Dynamic Programming Data Structures Trees Segment Tree Fenwick Tree Order Statistic Tree Monotonic Queues && Stack Graph Shortest Path Disjoint Set Union Topological Sort Number Theory Integer Factorisation String Processing Prefix function Knuth–Morris–Pratt Manacher's Algorithm