随笔分类 -  DP动态规划

摘要:Solution 观察范围 ai30 比较特殊,于是我们可以试着考虑 b 的范围。 直觉告诉我们 b 不会很大,当 bi59 时,有 |aibi|29。当 bi>59 时,|aibi|>29,但是如果这时我们将 bi 阅读全文 »
posted @ 2023-03-31 20:34 Epoch_L 阅读(13) 评论(0) 推荐(0) 编辑
摘要:Solution 延续上一题的思路,发现只与 11 的数量有关,设 1 的数量为 a1 的数量为 b。上一题的构造方案为 11 交替放,再把剩余的放在末尾。 当 ab 时,最后剩余的是 1,显然最大子段和为 1。所以只要保证没 阅读全文 »
posted @ 2022-11-16 20:04 Epoch_L 阅读(32) 评论(0) 推荐(0) 编辑
摘要:题目链接: 洛谷 Codeforces Problem 这题目翻译真的神了,好多歧义,看不懂,给一个本人翻译: 给你一个长度为 n 的序列 a,定义幸运数为仅含有 47 的数,你需要取出它的一个的子序列,满足以下条件: 长度为 k。 不能出现相同的幸运数,即最多 1阅读全文 »
posted @ 2022-08-17 18:33 Epoch_L 阅读(29) 评论(0) 推荐(0) 编辑
摘要:题目链接: 洛谷 Codeforces Solution 二分好题。 答案有单调性,首先二分。 现在问题转化成如何判断最少要改几个,使用 dp,设 f(i) 表示第 i 个不改,前 i 个最多几个不改,转移方程为: f(i)=max(f(j)+1) 这个转移方程成立,当且仅 阅读全文 »
posted @ 2022-08-15 19:26 Epoch_L 阅读(23) 评论(0) 推荐(0) 编辑
摘要:题目链接 Solution 这种字符串题一般都是区间 dp,设 f(i,j) 表示第 ij 的子串的最小长度,如果没有折叠操作,则枚举断点 k,转移方程为: f(i,j)=min(f(i,j),f(i,k)+f(k+1,j)) 若有折叠操作,这时想要折叠就必须满足 阅读全文 »
posted @ 2022-08-14 23:21 Epoch_L 阅读(63) 评论(0) 推荐(0) 编辑
摘要:原题链接 题解 一道区间dp裸题,跟模板题石子合并差不多,但是这里是在玩2048,所以要一样才能合并,而且记录的是出现过的最大值,所以答案不一定是 f[1][n],因为可能出现无法合并的情况。 转移方程: $$ f[i][j]=max(f[i][j],f[k+1][j]+1)(i \le k < 阅读全文 »
posted @ 2022-07-06 11:31 Epoch_L 阅读(14) 评论(0) 推荐(0) 编辑
摘要:原题链接 题解 设 f[i][j] 表示对 ij 的字串染色最少多少次,设字符串为 c,有 3 种情况: 当 i=j 时,也就是只有一个字符,染色一次就可以了。转移方程为 f[i][i]=1(1in)。 当 ij 且 $c[i]=c 阅读全文 »
posted @ 2022-07-06 11:29 Epoch_L 阅读(30) 评论(0) 推荐(0) 编辑
摘要:原题链接 题解 首先本题只从左边和右边取,所以剩下的必然是区间,妥妥的区间DP,直接设状态: f[i][j][0] 表示第 i 人从左边插入区间 i+1,j f[i][j][1] 表示第 j 人从右边插入区间 i,j1 因为第 i 个人从左边插入,根据题意,他就会小于前 阅读全文 »
posted @ 2022-07-06 11:26 Epoch_L 阅读(16) 评论(0) 推荐(0) 编辑
摘要:原题链接 题解 考虑DP,我们设 f[i] 表示前 i 头奶牛所能取到的最大值,则在 (ik,i) 区间中必须有一头奶牛不取,假设它是 j,则 f[i]=max(f[j1]+s[i]s[j]) 其中 s 数组表示前缀和。 观察转移方程,发现 s[i]阅读全文 »
posted @ 2022-07-06 11:00 Epoch_L 阅读(14) 评论(0) 推荐(0) 编辑
摘要:原题链接 题解 设 f[i] 表示跳到 i 所能取到的最大价值,则我们需要取一个 j(j<i) 使 f[j]+sum[i]sum[j]i100 最大,其中 sum 数组表示前缀和,所以转移方程即为: $$ f[i]=\max(f[j]+sum[i]-sum[j]-i100) 阅读全文 »
posted @ 2022-07-06 10:57 Epoch_L 阅读(11) 评论(0) 推荐(0) 编辑
摘要:原题链接 序言 本题下面将给出 3 种做法,分别为: O(n3) 暴力算法。 O(n2) 费用提前计算,小优化。 O(nlogn) 斜率优化。 洛谷数据很水,O(n2) 就可以过,加强版的链接贴上 loj10186 题解 Part 1:暴力算法 设 f[i][j] 表示 阅读全文 »
posted @ 2022-07-06 10:56 Epoch_L 阅读(23) 评论(0) 推荐(0) 编辑

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