DP选讲做题记录 by 付乙淼
1.算法学习笔记(1):CDQ分治2.算法学习笔记(2):分块3.算法学习笔记(3):莫队算法4.算法学习笔记(4):FHQ平衡树(无旋平衡树)5.算法学习笔记(5):AC自动机6.算法学习笔记(6):优秀trick和性质合集7.算法学习笔记(7):数论8.算法学习笔记(9):第k大问题合集9.算法学习笔记(10):各种序的美好性质10.算法学习笔记(11):历史版本和线段树11.算法学习笔记(12):左偏树12.算法学习笔记(13):同余最短路13.算法学习笔记(14):区间最值操作和历史最值问题14.算法学习笔记(15): Splay树15.算法学习笔记(16):Link Cut Tree16.算法学习笔记(17):Slope trick17.算法学习笔记(18):珂朵莉树18.算法学习笔记(20):网络流19.算法学习笔记(21):数论分块20.算法学习笔记(22):莫比乌斯反演21.算法学习笔记(23):杜教筛22.算法学习笔记(24):筛法23.暑假集训学习笔记(1):lxl DS Day 124.暑假集训学习笔记(2):lxl DS Day 225.暑假集训学习笔记(3):lxl DS Day 326.多项式笔记27.生成函数笔记28.插头DP
29.DP选讲做题记录 by 付乙淼
30.拓展摩尔投票31.图论知识总结DP选讲
P5074 Eat the Trees
最简单的插头DP, 轮廓线和插头可以很轻松存储状态和转移。
P4719 【模板】"动态 DP"&动态树分治
P5024 [NOIP2018 提高组] 保卫王国
动态DP一般就是简单的DP带单点修改, 而且给你放到树上, 这样你就不得不写树剖, 写树剖就需要维护重链, 我们就要写出也就是通过重链这个链构造个矩阵得到答案, 所以我们就需要把所有轻儿子的信息维护起来, 这样其实问题就解决了, 因为我们修改只用修改
CF1198D Rectangle Painting 1
只要看出来这是个区间DP那么就秒了。
CF1009F Dominant Indices
暴力就是每个位置开个桶, 考虑优化就是把桶换成线段树, 那么就完了, 考虑到答案与深度有关, 我们就可以用长链剖分搞到
[CERC2017] Kitchen Knobs
很牛的转化, 考虑套路差分后, 我们把每次操作的两个点连边, 那么操作完后就是若干个连通块, 考虑每次操作一定合并两个连通块, 不然一定不优, 然后我们知道操作完后每个连通块的和为0, 而连边不会是和变化, 所以有一个必要条件就是这些连通块的点在开始的时候和就是0, 考虑这其实也是最优解的充分条件, 因为只要开始和为0, 我们一定有构造方案使得仅需
CF1153F Serval and Bonus Problem
比较牛的是, 将长度看成1, 然后算概率。最后在乘上
[AGC030D] Inversion Sum
比较拓展思维的是第一步, 求期望不好求我们就计数, 计数不好计我们可以求期望, 求出期望后再称上情况数即可。 考虑期望怎么算就是算每个位置对期望的贡献。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App