奇技淫巧
一、点权转边权:建一个超级源点,连接每个节点,边权为该点的点权,跑一边最短路就可以求出点权加路径长的最小值了。
二、用带权并查集来判断m个操作是否正确:若 \(l-1\) 与 \(r\) 是否在一个并查集里,若不在,就合并;若在,就判断是否满足条件。
三、\(x\bigoplus x=0,0\bigoplus x=x\)
四、贪心策略假如不正确,先考虑是否可以反悔。
五、求区间内的互异个数:1.带修改:树套树或带修莫队(看数据范围);2.不带修改:主席树(在线,\(O(n\log n)\) ),莫队(离线,\(O(n \sqrt n)\) )
六、求区间第k大:树套树或主席树
七、求区间异或信息:可持久化0-1Trie树或线性基
八、维护区间信息时,假如不会,可以用分块拿个部分分
九、在范围很小的时候,可以考虑状压DP
十、若要求树上两条不相交的链的乘积最大值,可以将树拆分为两个集合,再分别求两个集合的直径,最后取最大值。
十一、不会的题用爆搜骗分
十二、树剖的思想非常重要
十三、找规律的题注意质因数分解或+1(-1)再质因数分解