会把考试/做题时犯得不太容易发现的错误记录下...
错误
1.在$Trie$图/$trs$图上乱搞时,注意可能需要把$fail$树/$parent$树中节点的贡献传递给子树
2.斜率优化$DP$,尤其注意别把$i,j$打反了!
3.空间不要开小了!线段树4倍,$SAM$2倍,$dfs$序2倍,邻接表2倍
4.某种情况不合法时,可能需要同时去掉原本的贡献和负贡献
5.LCT的rotate函数需要特判y节点是否为根!
6.主席树相加减时,节点权只支持加减运算,不支持max or min
7.异或的值域可能比原来大,例如原值域是1e6,异或后可能变成$2^{20}$
8.区间修改线段树别忘了下推标记!!!
9.splay某个节点的信息更新后,必须转到根节点以更新整棵树
技巧
1.线段树二分找位置时,尽量找前驱后继然后+1/-1
2.在考虑集合计数方面的问题时,如果对单一元素/节点讨论发现很难转移时,考虑从集合的角度思考
3.在讨论联通块类问题时,如果DP方程难以转移,考虑固定一个点再进行讨论
4.正难则反!!!
结论
字符串篇
1.一个字符串本质不同的回文串数量是$O(n)$级别