随笔分类 -  动态规划

摘要:传送门 定义一个函数 f,输入一个数组 a,输出一个数组 ba 的子序列:b1=a1,设 bia 中的位置为 posi,则 biaposi1+1an 中第一个严格大于 阅读全文
posted @ 2024-09-16 19:09 FLY_lai 阅读(16) 评论(0) 推荐(0) 编辑
摘要:警示:看到一道做过的题不要着急上头去写,写炸了心态就崩了。 T1 题意: 有 n 个人,每个人有经验 wi、薪水 si、意愿 pi 三个属性。要选出 2k 个人组成 k 组,每组两个人。每个组内一人做组长,一人做组员。要求组长经验 阅读全文
posted @ 2024-09-15 12:57 FLY_lai 阅读(34) 评论(0) 推荐(0) 编辑
摘要:【定义】 四边形不等式是对一个二元函数 w(l,r) 定义的。这个 w(l,r) 可以看作一段区间的 "代价"。 如果 l1l2r1r2,都有 \(w(l_1,r_1)+w(l_2,r_2)\le w(l_1,r_2)+w(l_ 阅读全文
posted @ 2024-08-30 10:29 FLY_lai 阅读(23) 评论(0) 推荐(0) 编辑
摘要:出自陈丹琦的《基于连通性状态压缩的动态规划问题》。 论文 PDF 一般基于棋盘(方格表)模型。 【(轮廓线)插头 DP】 如果有简单点的例题就好了,但没有找到,那么直接拿插头 DP 模板题吧。 插头 DP 模板题 给定一个方格表,有一些格子放了障碍物,求用一条回路恰好经过所有格子的方案数。\(n,m 阅读全文
posted @ 2024-07-07 22:12 FLY_lai 阅读(44) 评论(0) 推荐(0) 编辑
摘要:传送门 给定一个长度为 n 的木板,木板上有 m 个标记点,距离木板左端点的距离分别为 Xi,现在你需要在木板上放置一些不相交正方形,正方形需要满足 正方形的边长为整数 正方形底面需要紧贴木板 正方形不能超出木板,正方形要将所有的木板覆盖 标记点的位置不能是两个正方形的交界 阅读全文
posted @ 2024-04-23 18:29 FLY_lai 阅读(7) 评论(0) 推荐(0) 编辑
摘要:题意:给定带边权的树,要切掉 k 条边,再任意连上 k 条边权为 0 的边。问最优策略下得到的树的边权最大值。n,k3×105。 参考 【问题转化】 切掉 k 条边后会变成 k+1 个连通块,之后的连边一定会把这 k+1 阅读全文
posted @ 2024-04-14 22:25 FLY_lai 阅读(47) 评论(0) 推荐(0) 编辑
摘要:传送门 构造序列型 DP。经典的就是这么一种构造序列的方式: 用两种操作。 增加一个 0。 将当前序列中所有数加 1。 由此可以构造出任意一种自然数不降序列。 回到本题。即要求构造一个长度 k 和为 n 且没有一种数出现超过 m 次的不降序列,求方案数。考虑用 阅读全文
posted @ 2024-04-02 20:10 FLY_lai 阅读(6) 评论(0) 推荐(0) 编辑
摘要:传送门 平衡树优化神题,完全想不到平衡树能这么用! 一看这题散发着一股 DP 的清香。 dp[i][j] 表示前 i 个数且第 i 个数为 j 的最长上升子序列长度。但是转移方程不好优化,状态表示可以滚动数组压掉一维。 反方向考虑 DP:dp[i][j] 表示 阅读全文
posted @ 2024-03-02 16:57 FLY_lai 阅读(15) 评论(0) 推荐(0) 编辑
摘要:参考(先看) 这个题解最后的式子写错了,看最后 (注意一下算层数要 n /= 2 !) 这里面关于 ans 的用法:为什么是 2×ans2+8×ans+10 已经讲得很清楚了。 主要补充一下怎么求 ans 的部分。 如图,三个决策点的所在部分可以视作 阅读全文
posted @ 2024-03-02 16:54 FLY_lai 阅读(13) 评论(0) 推荐(0) 编辑
摘要:传送门 定义一个字符串 S 的缩字符串 S:S 中所有连续的相同字符变成 1 个。 发现通过复制操作,若 A 能变成 B,则 B 一定是 A 的子序列;反之,如果 BA 的子序列,A 能复制 阅读全文
posted @ 2024-03-02 16:53 FLY_lai 阅读(2356) 评论(0) 推荐(0) 编辑
摘要:T4 写出转移方程:fi 表示前 i 天且第 i 天必须跑的最大能量值。gi=maxj=1i{fj}。初值 f0=g0=0。 对于转移方程,考虑枚举最后一段跑的段是从哪里开始的:\(f_i=\displaystyle\ma 阅读全文
posted @ 2024-03-02 16:52 FLY_lai 阅读(37) 评论(0) 推荐(0) 编辑
摘要:传送门 题意:初始有 n0,给定一个序列 a,每次可以选择一个长度为某个 ai 的区间,将其全部取反。再给定一个序列 x,要求最后的状态是只有 x 中的位置是 1。问最小步数/判断无解。 范围:\(n\le 10000,|a|=l\le 阅读全文
posted @ 2024-03-02 16:46 FLY_lai 阅读(11) 评论(0) 推荐(0) 编辑
摘要:3n多米诺问题 dp[i] 表示前 i 列的方案数,dp2[i] 表示前 i 列但是最上面一行缺一个的方案数。 dp[i],dp2[i] 可以相互递推,而且刚好是矩阵递推。 矩阵快速幂优化。 CF809D 题解 CF15E 题解 CF17C 题解 CF79D 阅读全文
posted @ 2024-02-15 11:21 FLY_lai 阅读(34) 评论(0) 推荐(0) 编辑
摘要:简单的树上 dp 其实已经在普及组涉及过:自上而下和自下而上传递的性质。 现在我们需要研究更复杂的树上 dp,比如换根 dp 等等。 【树上 dp】 最大子树和 给出一棵带点权的树,求这棵树中的最大权连通块。 因为是无根树,我们人为规定 1 号结点为根。 dp[i] 表示以 i 为根 阅读全文
posted @ 2024-02-15 11:16 FLY_lai 阅读(17) 评论(0) 推荐(0) 编辑
摘要:ABCDE 赛时 AC。 F 列方程:fi,j 表示有 i 个人,第 j 个人最终活下来的概率。 fi,1=12fi,i,因为只有一种可能:第一个人放到最后,概率是 12,这个时候就相当于让 i 阅读全文
posted @ 2024-02-08 18:43 FLY_lai 阅读(45) 评论(0) 推荐(0) 编辑
摘要:ABCDF 都赛时做出来了。 E \(\displaystyle\dfrac{1}{D}\sum_{i=1}^D (x_i-\overline{x})^2=\dfrac{1}{D}(\sum_{i=1}^D x_i^2-\sum_{i=1}^D2x_i\overline x+\overline{x} 阅读全文
posted @ 2024-02-08 18:43 FLY_lai 阅读(6) 评论(0) 推荐(0) 编辑
摘要:最小斯坦纳树 给定 k 个关键点必须选,选一些点,选一些边连接他们,求总边权最小。 首先最终肯定选出一棵树。看到 k 的范围,果断状压。 dp[i][S] 表示以 i 为根,至少(不是恰好)包含 S 中的关键点的最小边权总和。 如果最终的树中 i 的度 阅读全文
posted @ 2024-02-01 09:46 FLY_lai 阅读(24) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示