奇技淫巧

一、点权转边权:建一个超级源点,连接每个节点,边权为该点的点权,跑一边最短路就可以求出点权加路径长的最小值了。

二、用带权并查集来判断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)再质因数分解

posted @ 2019-11-06 14:49  nth_element  阅读(335)  评论(0编辑  收藏  举报