数据结构篇:
树状数组:logn判断一个数前面/后面有几个数比它大/比它小,就是求逆序对数量。很常用。
线段树:区间推平问题(tag标记颜色,珂朵莉树也行),区间覆盖问题(并查集也行),开方取log问题(几次后必定不变了,用tag标记)
单调队列:滑动窗口取最值问题,也可以单独维护过期性。
ST表:RMQ问题(能省一个log就省一个)
图论篇:
最短路树:所有点到某个点的最短路径组成一棵树