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

posted @ 2024-09-16 21:27  Kent530  阅读(182)  评论(0)    收藏  举报