trick总结
1、见到 \(\mathtt{xor}\) 就想奇偶性
2、奇奇怪怪的信息想一想在比较大的情况下复杂度对不对,如果对的话就想一想 \(\color{red}{根号分治}\)
3、不会的题一般就是贪心和 \(\mathtt{dp}\)
4、写 \(\mathtt{DS}\) 的时候别忘了 \(\color{red}{扫描线、分治、启发式、二分、二进制分组}\)
5、值域段连续 \(\to\) \(r-l=max-min\)(Good Sudsegment)
6、树上区间问题 \(\to\) 插入点(LCA)
7、遇见二元组类问题不好维护的时候可以考虑先定死一些什么东西,然后再看怎么处理(超级钢琴,best pair)
8、遇见 \(\mathtt{DS}\) 题要求一些奇奇怪怪的数列(比如说 \(Fib\) ),就想一想线段树维护矩阵(CF718C Sasha and Array)。
9、
具体实现仍需探究
10、看见一些数据结构题里有什么 \(c \leq 60\) 这种玩意或者区间位运算就想一想能不能状压或者开一堆线段树去搞
11、一些有优秀均摊性质的玩意:一个自然数最多被拆分成 \(O(\sqrt n)\) 级别个自然数、取模至少减半、开根号削减的贼快
12、看到树上路径想到用两个dfs序区间判断经不经过