data structure
basic dfs
basic bfs
binary search
kinds of dp
search everywhere
choose the best