OI trick?(OI 技巧/套路/思想/卡常方向)
在这里记录下每次让我大开眼界的神秘题目与思想。
如果你发现数字对不上,肯定是我删掉了一些因为我红温加上的神秘东西。
1. 绝对值,考虑转化在图形上,可以变成与一个点的距离,也可以进行分类讨论\(>0\)与\(<0\)的情况。AT_abc134_f [ABC134F] Permutation Oddness
2. 奇数这个性质很有可能是异或哈希。
- bitset的作用很多,不仅能优化空间,还能用来做字符串,优化暴力,alex-wei
4. 期望设状态为到达终点还有多少步,然后倒着枚举回来。
6. meet in middle ,先于预处理一半,再暴力处理另一半,或者说两者同时进行序列异或
- 一个小于进制\(P\)数\(x\)依次乘上小于进制\(P\)的数,十位出现种类只有从\(0~x-1\)(似乎很显然,但是较难注意)乘法破译
- 将题目的条件简化->将两边都是不同的数,一方转化为相同的数(特殊数:0,1)。小蛋糕(cupcake)
- 发现只有一个数的变化,将它推到出对所有位置变化产生的贡献,这样就简化每个位置的变化影响。小蛋糕(cupcake)
10. 序列上关于某数的倍数跳跃消除影响或枚举因数,可以想到莫比乌斯函数。小蛋糕(cupcake)
11. 异或,或,与这种位运算可以想到按位\(dp\)。异或(xor)
- 状压dp套路:将小于\(\sqrt{n}\)的质因子存下来,有大于\(\sqrt{n}\)的最小质因子的数只会出现一次。平方数(square)。
13. 拆贡献第k大查询基本原理:
学习笔记
(补充,可以加起来的贡献一定要拆开啊!)
14. 关于子集,子序列,计数问题向\(dp\)方向靠(当然发现不会做时都向\(dp\)靠就对了)(好吧还有网络流)
- 对于几次方,大概率要拆开出来。
16. 正难则反,正着做不出来就容斥,序列上做不出来就考虑值域。P2501 [HAOI2006] 数字序列
- (min,+)卷积做不了,套路的会发现值要么几乎很小,要么几乎很大,枚举前几位进行\(0/1FFT\)(可行性FFT)(瞎编的名字,就是看它是否小于枚举的k值),然后跑暴力,跳过小于该阈值的位置。简单的打击
- 树上差分与dsu on tree的区别在于两者当前子树询问是否与当前子树有关,例如:小王子与树上数颜色,第一个是树上差分是因为求子树内黑色连边不在子树内的个数,第二个是dsu on tree是因为询问当前子树内某一种颜色。(第一个两个子树内且要满足求的信息可以存储,第二个一个子树内,第一个比第二个适用类型更窄,但复杂度更优)
- 组合数学习
- 异或也可以想到线性基C. 树上博弈(game)
21. 树上的区间是不存在交叉关系,所以如果树高为\(\sqrt{n}\),所有子树dfn区间总和为\(n\sqrt{n}\)
- 若干个点的权重之和为 1 的线性组合形成的区域为这些点的凸包。CF1765F Chemistry Lab
- 注意条件如果是限定的总和,可以考虑根号分治,小于\(\sqrt{n}\)直接存,大于\(\sqrt{n}\)的只会有\(\sqrt{n}\)个。P10114 [LMXOI Round 1] Size P13494 【MX-X14-T4】分门别类
- 如果使用动态空间,稠密图用vector,稀疏图用链式前向星(存图就相当于用动态空间(树就用后者,图就用前者)P13642 EERT
- 二分答案 P4447 [AHOI2018初中组] 分组 P4857 [PA 2013] Konduktorzy P6397 [COI 2008] GLASNICI
- 二分答案 CF gym102354 B. Yet Another Convolution
- 各种求和
- \(mex\) 就是补集 \(\min\),于是可以发现 \(mex(q_{l∼r})=\min(a_{ l−1},b_{ r+1})\)P13662 「TPOI-5A」Luminescence
- 注意平衡复杂度,发现解法复杂度有点高过你的预期,发现其他操作你没有拉满的复杂度进行平衡一下。
- 求gcd数对用莫比乌斯反演,求值也可以尝试用欧拉反演.
莫比乌斯函数本质就是抽出来按质因子个数影响的容斥系数
33.不要啥都把单调性二分想着,如果你推的出式子,不妨想一想解方程 P13696 「CyOI」出包魔法师
- 最长公共子序列可以联想差分后状压P4590 [TJOI2018] 游园会 P4484 [BJWC2018] 最长上升子序列
- 一段区间的异或值,可以使用前缀异或值相异或,即 \(l\) 到 \(r\) 的区间异或值等于 \(a_{l-1} \oplus a_r\)。P4462 [CQOI2018] 异或序列
- 回文串重排构成条件是每种数最多出现一种奇数个情况,可以使用异或哈希,种类小直接用状压P3604 美好的每一天
37. 当一个点(x,y)对整体做贡献时,可以将它做的贡献分为四个区间进行————左上,左下,右上,右下,这样跑四遍就可以算出来总贡献,多维同理,且这样做就可离线下来做,没有后效性。P13789 「CZOI-R6」游戏P1648 看守C. 巡逻网络(net)(对于第二个,因为是求max,所以没必要求哪些点一定在当前你指定的区间内,算错的部分都会因为被正确距离更大而覆盖) E. Points Selection
38. 转化计算过程T636766 「LDOI R3」泡泡抗特 P13595 『GTOI - 1B』筝
- 枚举子集再枚举子集的子集,复杂度为\(O(3^n)\),高维前缀和学习笔记
- DP的转移条件知道,不妨将转移条件放入DP数组中P10523简单题
- 贪心与DP的思想 P10524煎蛋题
- 二进制与性质的题:C. 符文石 (stone)
- 网络流将最大流改为可行流只需要在源点处再加一个源点连向它,容量为可行流的流量即可。
- 树中抵达 \(k\) 个关键点点后不回到终点,可使用减去最长链。P6419 [COCI 2014/2015 #1] Kamp
45. 对于答案组成不是简单式子组成的,要么是先将它化简,否则是 \(dp\) 或网络流。
- 网络流中不要用寻址!!!要用的话注意这个情况
- 合并答案 1318. 【NOIP2013模拟11.7A组】JIH的玩偶(tree) CF2043G Problem with Queries
49. 具有单调性,要注意 在t时刻 i<i+1<i+2 val[i+2]>val[i]>val[i+1],无法使用单调队列及时弹出。P5504 [JSOI2011] 柠檬
50. 整体思想/替换思想 全局+val -> 全局不动,求的值减val P10596可重集合
51. 如果多个相同数与一个或少数个贡献相同时,考虑离线把l or r做扫描线,只保留最近的几个相同数 P1972 [SDOI2009] HH 的项链 P12410 「知りたくなかった、失うのなら」
52. 跟上面max情况是差不多的,错误情况会被正确的覆盖P2495 [SDOI2011] 消耗战 /【模板】虚树(dp需要的是两点(一个是另一个祖先)之间的最小值,直接记录到根的最小值显然是对的)
54. woc,题做傻了,这题是区间修改,单点查询,tm根本不需要在区间节点处维护信息,懒标记随你怎么维护,能传到叶子就行了。P11536 [NOISG 2023 Finals] Curtains
- Hall定理https://www.luogu.com.cn/problem/P8346
- 对只有推平(或者其他操作对颜色段影响不大)的操作的考虑段数的势能分析。
- 对倍增的题型还是不够熟。
- 高斯消元后你转移的系数是不变的!!!P10772随机游走
- 多源最短路问题通解:分治中心P6976 [NEERC 2015] Distance on Triangulation P3350 [ZJOI2016] 旅行者
- 分类问题dp,考虑将一个点设为必选状态AT_abc213_g [ABC213G] Connectivity 2 AT_abc253_h [ABC253Ex] We Love Forest
- 排列计数dp,不要考虑如何放,而是考虑如何插。
- 注意答案形式的特殊,比如可能是一个前缀和,区间模样,可以考虑快速计算答案
- 注意是幂等信息,可以将状态重叠的使用https://www.luogu.com.cn/article/2i6n0vkw
- 对于两种完全不同的转移最短路该怎么做AT_abc261_h [ABC261Ex] Game on Graph
- 根本观察不到性质:B. 换乘旅行(travel)
- 为什么考试时智商为0,想不到枚举最大值C. 优美的街景(street)
- 造数据检验器时空格要做到万无一失,也不要多,换行则是按人的写法来
- P4714 「数学」约数个数和
- https://www.luogu.com.cn/article/cq9f9q2c
操了,trick太多了,一般trick就不放了,只记录重要的。
70.树的性质:1.进行染色是二分图,更加具体是奇数层之间为白,偶数层为黑(例题:qoj8559 其中 \(k=2\) 的构造方法,建出 \(dfs\) 生成树,答案是欧拉序+返祖边跑两遍,具体证明参考染色)
71. 卡常多维数组,维度空间更小的放前面更快,好像是可以减少 cache miss 次数
72. 序列问题方法:1.带偏序考虑排序后插入 2.判定,比大小考虑逆序对
- 找包含单点值的贡献,考虑固定该单点,寻找哪些区间包含这个点。
74. 似乎有点显然的性质,但是我一直注意不到: 括号序列匹配是一对一的,不存在多种匹配方式(所以栈十分适配)
- 处理分段函数的方法
- P3792 由乃与大母神原型和偶像崇拜 考虑判定奇奇怪怪东西用其他东西刻画。

- 对于不同 少种类 种的情况,可以考虑进行重新排序来使不同的情况形成一段区间形式 货流运输 AT_abc232_g [ABC232G] Modulo Shortest Path
- 加1减1为单调的。

浙公网安备 33010602011771号