一些常用套路

调试科技

  • 注意边界 \(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}\)
posted @ 2023-03-15 20:26  Network_Error  阅读(18)  评论(0)    收藏  举报