做题记录

多项式

编号 问题 算法
5644 分治NTT+容斥
4705 数组1~k次幂和 NTT+多项式求逆
4723 常系数齐次线性递推 多项式取模
3824 常系数齐次线性递推 多项式取模
5401 二项式反演+NTT

计数

编号 问题 算法
cf960g 前缀max个数,后缀max个数 第一类斯特林数
4827 i^k的转化 第二类斯特林数+树上dp
cf932e i^k的转化 第二类斯特林数
cf961g 转化+第二类斯特林数
4091 第二类斯特林数
4727 图的同构计数 burnside引理
cf285e 二项式反演+DP
3270 二项式反演+自然数幂和
5434 荒漠计数 仙人掌多项式
4191 循环卷积 ik转化+任意模数NTT
5293 ik转化+任意模数NTT+矩阵乘法

数论

编号 问题 算法
4844 1/a+1/b=1/c的转化 莫比乌斯反演
3700 推式子+分块维护单点加,区间和
sp34096 min25筛
5328 min25筛
4077 翻硬币游戏 sg定理
5366 待整理
3762 求 (b1×b2...×bm)/(a1×a2...×am) 模M的值(非质数) Pollard Rho+Miller Rabin分解质因数
5444 推式子+排序区间覆盖
3263 \((\frac{b+\sqrt{d}}{2})^n\) 转化+矩阵快速幂
5487 寻找递推式 BM算法
5493 质数前缀统计 min25筛(一部分)
5502 求长度与最大公约数乘积最大的 扫描线,维护不同的gcd

几何

编号 问题 算法
uva10674 两圆公切线
4207 计算投影面积 辛普森积分
5328 半平面交
4250 二元不等式组 半平面交
4197 多边形公共部分 半平面交
1742 最小圆覆盖
3187 最小矩形覆盖 旋转卡壳
1452 最远点对 旋转卡壳
5467 圆在多边形内部的大小 直线与圆交点+点在多边形内部判定
3699 不经过给定三角形的点对数 扫描线+set
1756 圆和矩形的面积并 辛普森积分
4518 与正多边形匹配 二分+圆交点+扫描线+Hall定理
4557 两个凸包,移动一个,问是否有交点 闵可夫斯基合并凸包+点在多边形内部判定
5286 鱼形图计数 扫描线

图论

编号 问题 算法
cf97e 长度为奇数的简单路径 点双缩点
2483 k短路 可持久化左偏树
3196 弦图
cf215f 转化+2sat
5332 2sat+传递闭包(bitset优化)
3350 网格图最短路 分治+最短路
5025 区间建图+传递闭包 线段树优化建图+SCC缩点+DAG上DP
1173 网格图删点后的连通性,割点 关键点建图+tarjan+bfs(难)
4630 广义圆方树(只有圆方边)+转化
4258 一般图匹配 带花树
3778 最大比率生成环 01分数规划+spfa负环

网络流

编号 问题 算法
2805 最大权闭合子图(有时间序) 拓扑排序+最小割
3980 区间选择 费用流
5331 向前匹配,代价为差值 主席树优化建图+费用流
3153 二分+最大流
cf704d 行列限制 有源汇有上下界最小流
4003 接管子问题 网格图黑白染色+费用流(难)

动态规划

编号 问题 算法
5280 dp维护线段树懒标记
4845 树上选点 树形dp
5405 容斥dp+树形背包
5643 树上游走+minmax 用父节点的一次函数形式表示
5492 期望dp
5369 期望dp
5363 nim计数 dp+组合数
3176 dp+矩阵乘法
3352 q次操作,每次随机取一个区间并将其中的数都改为max,问期望 DP+同类转移的合并
3266 dp转网格图+容斥
5371 递推+dp+矩乘优化
5279 麻将的胡牌张数期望 dp套dp+预处理+贡献转化(难)
3886 最大连通块 插头dp
1912 划分使得每段长度与某数的差的K次方和最小 决策单调性优化dp(单调栈版本)
cf868f 把一个序列分成k段,使每段中相同元素的对数之和最小 决策单调性优化(分治)
4284 树上概率DP+换根
3642 修改树边长度使每个节点到根距离相等 DP+凸包(难)
2481 数位DP
cf793e wqs优化套wqs优化

贪心

编号 问题 算法
cf965e 贪心
4155 环形区间覆盖 贪心+倍增
5465 贪心+倍增
3745 枚举+贪心
3294 转化+贪心
3826 反转+贪心+优先队列
4040 贪心

树上问题

编号 问题 算法
3781 动态dp(LCT优化)
4565 两棵树上的距离问题 边分治+虚树
3345 带修改带权重心 点分树(相当于树上二分)
4899 克鲁斯卡尔重构树+子树交集
cf1192b 动态直径 欧拉序+线段树
5327 线段树维护虚树
3233 虚树+链上处理
3565 求三个点两两距离相等的方案数 长链剖分优化dp
4292 给定长度范围内,平均值最大路径 分数规划+长链剖分+线段树
2664 求树上所有路径的颜色数之和 删去颜色+整体处理
5659 交换+删边(CSP题) 考虑链和菊花的情况
4582 求树中有多少联通子树和这个树有相同重心 重心性质+DP
cf708c 换根DP

数据结构

编号 问题 算法
5198 线段树合并优化dp
4108 分块
4602 整体二分(可以不用递归分治)
5358 懒标记的应用
3246 区间的子区间的RMQ之和 RMQ+单调栈+(思维,分治)
3722 单调栈+线段树+离线处理
5445 维护连续段 线段树+三维偏序CDQ分治
5443 带修改,求从一个点经过权值不小于某数的边能到达的点数 带撤销并查集+分块(重构)
cf464e 最短路(边权为\(2^x\) 可持久化线段树维护高精+标记永久化+dij
3688 随机修改,查询两个点是否相同 二维线段树
5781 单调栈+扫描线+树状数组

字符串

编号 问题 算法
4324 扭动的回文串 manacher+二分,哈希
3975 第k小子串 后缀自动机
3900 字符串拼接成回文 spfa+hash+状态优化
5410 扩展KMP(类似manacher思想)
5334 每个前缀的最小循环串 维护可行集合

其他技巧

编号 问题 算法
cf710f 动态AC自动机 二进制分组
2597 有向图割点(必经点) 支配树
5372 奇怪的dfs
1852 跳跳棋 转移单向性+二分lca
4224 左右添加删除的最长倍数子序列 枚举约数,更新转移
2503 模拟退火
1337 找平衡点 模拟退火+物理
5230 求01矩阵中有几对不相交的矩形 单调栈+容斥+前缀和
posted @ 2020-01-11 21:38  lnzwz  阅读(678)  评论(0编辑  收藏  举报