oi常见trick
不定期更新~
Trick
1.令 \(b_i=a_i-i\),可以将等差数列转化为相同的数
例题:ABC371F
2.对于只和数据间大小关系相关的问题,可以考虑二分答案,并转化为01序列
例题:P2824
3.在博弈题目中,考虑是不是存在一种决策完全优于另一种,可以简化问题
例题:CF2005E1
4.对于\(\sum{^{i=1}_n}A_i = M\) 时,不同的 \(A_i\) 只有 \(O(\sqrt{n})\) 个
例题:ABC371G
5.破环成链!破环成链!破环成链!
例题:ABC370F
6.对于随机数据,对某些量求期望,可能会得到 \(O(\log n)\) 甚至 \(O(1)\) 的结果
例题:from mxoi
7.对于最优解问题中难以解决的情况(复杂度瓶颈),考虑其是否一定不优
例题:ABC308Ex
8.一种神秘的类似"线段树优化建图"的"前缀和优化建图"(详见例题题解from \(0x3b80001\))
例题:ABC232G
9.斐波那契数列是指数级的,也就是其中 \(\leq n\) 的项数是 \(O(\log n)\) 的
例题:CF177G2
10.考虑操作中的不变量(常见的有:数列的和,前缀和,差分,逆序对奇偶性;树上到根节点的距离,树上差分)
例题:ABC136E,ARC136B,AGC052B,P7962(懒得放链接了)
11.对于无根树,考虑钦定重心为根节点
例题:P5547
12.如果要求一个东西是排列,可以考虑 \(2^n\) 枚举出现的元素的集合,然后做容斥
例题:P3349
13.一个对于数组翻折问题的神秘trick(一句话也讲不清)
例题:CF2077E(具体看@KingPowers大佬的做法)
14.别tm忘记bitset了,这玩意真的可以做正解
例题:联合省选2025D1T2追忆
(红温中)
15.\(\lfloor \frac{x}{2} \rfloor \lceil \frac{x}{2} \rceil = \frac{x^2}{4} - \frac{x \mod 2}{4}\)
例题:CF2077C
16.mex等价于,对于k=0 ~ n,满足0 ~ k都在序列中的数量
例题:CF2084E
思考方式
1.对于图论先考虑简化问题后的解法(比如对于普通图考虑树,对于树考虑链和菊花图)
2.考虑极限情况时的解法(比如建图时为避免负边,先考虑图上的最短边使其为0,详见trick8例题)
神秘建模
P2519
浙公网安备 33010602011771号