Competitive Programming

Ad hoc

Bitmask

Brute force

Coordinate compression

Dijkstra

Divide and conquer

Dynamic programming

Geometry

Graph

Greedy

Math

Meet in the middle

Sortings

Stack

Tips

Trees

Two pointers