hashes
persistent data structures
segment tree
