算法竞赛中useful总结
一个技巧结论解决一个题系列
根号分治
- 对某下标权值做修改
- 询问 的所有下标权值和
- 操作数小于 用数组存答案,每次修改是 查询 , 否则直接 暴力查询, 修改
求解序列权值为等差数列的前缀和解法。
- 例如公差为 ,则结果为 。
- 维护两个前缀和解决, 和
求解序列的 个子区间最小值之和。
- 定义状态
f[i]
表示前缀 的所有后缀区间的最小值之和。 - 运用于后缀数组中即求
height[]
数组所有区间的最小值加和 - 考虑
height[i]
与height[i-1]
的关系:- 如果 height[i] >= height[i - 1],f[i] 能取到 f[i - 1] 的所有值
- 反之,height[i] 不能取到 f[i - 1] 的值,要往前继续找 小于等于 height[i] 的下标。
- 上点可以用单调栈来维护左边第一个小于 height[i] 的下标。
求解数字串子区间表示数字z是 的倍数的子区间数目
- 结论: 则
- 如果 模 5 或者 模 2 都不等于 0,直接做前缀计数即可。
- 否则分类讨论即可 (字符串末尾为 5,0 / 0,2,4,6,8)
ABC158-E 讨论模5和模2
ABC164-D 直接计数
DP 转移类似杨辉三角,可以用组合数优化
-
形如 , 求
-
设从 出发,可以看做在 步往下走中选择 往右走。
-
这题需要挖掉 相等的点。
CF1629 F2. Game on Sum (Hard Version)
竞赛图经典结论
- 缩点后,DAG是一条“链”状,拓扑序唯一。
- 拓扑序在前的SCC的任意一节点的入度严格小于拓扑序在后的SCC的任意一节点入度,故
- 所有节点按照入度和从小到大排序后,同一个SCC的节点一定是连续的
- 若一个竞赛图按照入度从小到大排序,仅有 满足前 的入度和为 ,则这个竞赛图缩点后只有一个SCC。
最小字符串选取次数,组成目标串结论
- 给定 串,从 中选取可以重叠的子串,最小选取次数组成 串。
- 结论:匹配到了 串的第 位,往后匹配最长的距离不会使结果变差。
y^x y-x
- 利用结论转换数对 转换为
- 然后进行数位 dp,找出数对满足二进制位数相同,最高位都为 1,对于每个数位 。
- 求解方法不是常规数位dp。设计状态 记录 x 和 y 是否达到上下界。
一个公式解决一个题系列
组合数公式
一些题目的思考方向
构造题询问操作次数,可能是根据某种性质然后暴力求解
- 递增序列,最高位长度不超过 3 的序列是有限的
字符串压缩,连续相同的子串压成同一个
- 考虑 KMP、区间DP。
- 例如 KMP 优化区间DP
有特殊的边,可以尝试用虚拟点来优化边数
没有出度为零的点,没有入度为零的点且不可继续缩点的图一定为强连通图
洛谷 P2746 [USACO5.3]校园网Network of Schools
在图中,在每个点有操作,在每个点有不同的状态,转移有不同,考虑分层图 / 拆点
-
将每个点可以分到若干个状态。
-
点上的操作,是同点不同层的连接,边的转移是不同点可能不同层之间的转移
每次操作值域至少乘 2(x) 倍,可以有暴力对数做法
- 查询序列中是否存在 ,输出下标。
CF992E
查找连续序列和另一连续序列,对应位置加和相等,可以转化为差分数组上匹配问题。
- 设差分数组为 ,那么只要 的差分数组匹配,特殊搞一下第一位元素,就找到了答案。
- 具体可以用 SA 来做。
卡常大师之玄学优化
倍增LCA,反转两维,在 较大时极为有用
__EOF__

本文作者:Roshin
本文链接:https://www.cnblogs.com/Roshin/p/trick_summary.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/Roshin/p/trick_summary.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具