摘要: 左偏树 左偏树解决的问题:高效合并两个堆。 例子: 你现在有两个大根堆,你要把这两个堆合并(合并完后还是大根堆)。 设当前两个堆的根为 \(rt1,rt2\) 。 假设 \(rt1\) 的值小于 \(rt2\) 的值。 那么根据大根堆的理论,\(rt1\) 应该是 \(rt2\) 的子孙。 那就出现 阅读全文
posted @ 2026-09-06 18:26 wlhao 阅读(4) 评论(0) 推荐(0)
摘要: 动态DP(DDP) 核心用途:解决带有单点修改的树形 \(dp\) 问题。 1. 核心模板(P4719 最大权独立集) 问题描述:选了儿子就不能选父亲,求选的节点的权值最大值,注意需要支持单点修改权值。 状态定义:$ f_{i,0/1} $ 表示子树 $ i $ 不选/选的最大权。 轻儿子贡献固化: 阅读全文
posted @ 2026-09-06 18:04 wlhao 阅读(5) 评论(0) 推荐(0)
摘要: 数位DP 核心思想 当答案和某个数的每一位之间有强相关联系时,可以以每一个位置作为阶段来DP。 P2602 数字计数 给定两个正整数 \(a,b\) , 求在 \([a,b]\) 中每个数码出现了多少次。 暂且不考虑前导零,那么对于满 \(i\) 位的数: 所有数字的出现次数相同 设数组 \(dp_ 阅读全文
posted @ 2026-09-06 16:59 wlhao 阅读(4) 评论(0) 推荐(0)
摘要: DP套DP 顾名思义,外面是一个 \(DP\), 而这个 \(DP\) 的状态里还有一个 \(DP\) 。 引例(P10614): 给定长度为 \(k\) 的字符串 \(s\) ,对于 \(i\in [0,k]\) ,求有多少种长度为 \(n\) 字符串 \(t\) ,使得 \(s,t\) 的最长公 阅读全文
posted @ 2026-09-06 16:53 wlhao 阅读(3) 评论(0) 推荐(0)
摘要: 决策单调性优化DP 何为决策单调性? \(dp\) 转移时常会出现以下几种情形:(以 \(min\) 为例) \(dp[i]=min_{j<i}(dp[j]+w(j,i))\) \(dp[i][j]=min_{j<i}(dp[i-1][j]+w(j,i))\) \(dp[l][r]=min_{l\l 阅读全文
posted @ 2026-09-06 16:46 wlhao 阅读(6) 评论(0) 推荐(0)
摘要: 四边形不等式的归纳证明 设区间 DP 的定义为 \[dp[l][r] = \min_{l \le k < r} \{ dp[l][k] + dp[k + 1][r] + w(l, r) \}, \]并规定 \(dp[i][i] = 0\)。设代价函数 \(w\) 满足: 四边形不等式:对任意 \(a 阅读全文
posted @ 2026-09-06 16:30 wlhao 阅读(3) 评论(0) 推荐(0)
摘要: 生成函数 是什么? 生成函数是针对某一个序列而言的,其某一项的系数代表这个序列上该位的值。(这里就暂时这样说吧,虽然这可能只在普通生成函数上是对的,但较容易理解) 更不通俗易懂的来说, 生成函数是一种形式幂级数, 形如:\(G(x)=a_0+a_1x+a_2x^2+a_3x^3+......\) 说 阅读全文
posted @ 2026-08-25 20:15 wlhao 阅读(5) 评论(0) 推荐(0)