Problems
Easy · Trees · Depth-first Search · Prefix Sums
Very hard · Segment Tree · Greedy algorithms · Dynamic programming
Easy · Segment Tree · Range queries
Very easy · Brute force
Medium · Combinatorics · Number theory · Brute force
Very easy · Greedy algorithms · Sorting · Implementation
Hard · Meet-in-the-middle · Hashing · Strings
Medium · Brute force · Number theory · Combinatorics
Hard · Sorting · Two pointers · Greedy algorithms · Binary Search
Hard · Breadth-first Search · Dynamic programming · Shortest paths · Sorting · Graphs
Hard · Dynamic programming · Prefix Sums
Hard · Greedy algorithms · Sorting · Data Structures
Medium · Strings · Stacks
Very easy · Prefix Sums · Greedy algorithms
Medium · Dynamic programming
Easy · Strings · Prefix Function · Data Structures · Stacks
Medium · Dynamic programming
Easy · Greedy algorithms · Priority Queue · Graphs
Easy · Dynamic programming · Fenwick Tree · Data Structures · Prefix Sums
Hard · Strings · Hashing · Data Structures
Very hard · Divide and Conquer · Convex Hull · Data Structures
Very easy · Brute force
Hard · Greedy algorithms · Graphs · Shortest paths
Very easy · Binary Search · Math · Two pointers
Medium · Bitmasks · Brute force · Shortest paths