一些常用套路
调试科技
- 注意边界 \(n=1\),特判特殊情况
- 注意检验算法的正确性,如果一直调试不出
思维套路
- 推性质
- 确认题意没有看错!
- 能排序先排序
- 转化题意(转化为另一个等价条件)
- 主动强化题意
- 推一推特殊条件
- 在证明中发现新的性质
- 第一眼往往是正确的
- 思维题,尝试打破思维限制
- 最小转判定
- 最大化最小,最小化最大转二分,转 \(0-1\) 序列
- 二进制拆位算贡献
- 网格图,马上想到奇偶染色
算法思维
- 莫队
- 计算贡献
- 离线
- 扫描线,将二维操作沿着一维扫过去
- 倒着做
- 交换求和符号
根号科技
- 图上对度数根号分治(优化 DP)
- 两个集合,对大小根号分治
- 整除分治($\sum_i \left \lfloor \dfrac{n}{i} \right \rfloor $)
- 分块,预处理两个块之间的答案
- 分块,维护在线的操作,懒标记
- 值域分块
- 树上莫队
- 定期重构
交互构造科技
- 二分(三分、四分)
- \(2\) 进制分组
- 多次询问合并加速
- \(2\) 进制转 \(k\) 进制,DP 寻找最优划分方案
- 随机化:先考虑随机一个下标进行询问
爆搜科技
- 折半
- 图上爆搜,找一个决策,容对应增加,大于 \(k\) 退出,复杂度 \(O(2^k)\)
DS 科技
- 冒泡排序交换次数为逆序对个数
- 中位数、次数大于一半的众数都可以转 \(k\) - th 处理
- \(k\) - th 可以二分,亦可二进制按位二分
- 大于一半的众数可以用摩尔投票
组合科技
https://www.luogu.com.cn/blog/534654/solution-binoms
-
\({\dbinom{n}{i}=\dbinom{n}{n-i}}\),时刻别忘了这条
-
\(\dbinom{n}{n}+\dbinom{n+1}{n}+\dbinom{n+2}{n}+\cdots+\dbinom{n+k}{n}=\dbinom{n+k+1}{n+1}\),组合意义,\(n+k+1\) 个球依次放置,从后往前选
-
\(\sum_i\dbinom{n}{i}=2^n=(1+1)^n\)。
-
\(\sum_i\dbinom{n}{i}\dbinom{m}{k-i}=\dbinom{n+m}{k}\),范德蒙德卷积
-
\(a_i+a_j\le k\),对 \(a_i\le \dfrac{k}{2}\) 和 \(>\) 分治
-
在答案不正确的情况下,乘上一个系数,答案正确(包括容斥)!
数论科技
- \((a_1+a_2+\cdots+a_n)^k\) 的组合意义
- \(i\times j\) 的因子个数 \(=\) \(\sum_{u\ |\ i}\sum_{v\ |\ j}[\gcd(u,v)=1]\)
- Polya 定理
- \(\max(a,b)=(a+b+|a-b|)/2\)
- \(i\bmod 2=\dfrac{1-(-1)^i}{2}\)

浙公网安备 33010602011771号