随笔分类 -  动态规划

摘要:题目 https://atcoder.jp/contests/dp/tasks/dp_j 思路 观察到每个盘子的寿司数量最多为3,那么我们定义dp[b][c][d],表示1,2,3个寿司的盘子数量还有b,c,d的期望,0个的用a表示 根据当前这一次要么选0个寿司的盘子,要么选1个寿司的盘子,要么 阅读全文
posted @ 2022-11-26 12:02 翔村亲亲鸟 阅读(41) 评论(0) 推荐(0) 编辑
摘要:题目链接 题意 将n个将军卡片分成两份,要求两份卡片之间的差值尽可能小,求最大的那一份卡片的和,这里有m组卡片是不能放在同一份的 思路 对有矛盾的组我们建图进行01染色,对于每一个连通块得到所有的0点和1点的差值的绝对值,我们存在数组ve中,单点也加入ve中,相当于一份是x一份是0,进行01背包求差 阅读全文
posted @ 2022-09-03 11:12 翔村亲亲鸟 阅读(31) 评论(0) 推荐(0) 编辑
摘要:题目 给定一个有向无环图,叫你求图中的最长路径 思路 记忆化搜索,定义 f[i] : 表示从点i开始的最长路径长度,那么很容易得出转移方程为 fi=max(fi,fj+1),j为i的子节点 代码 点击查看代码 /* * @Descripttion: * @Author: Echo * 阅读全文
posted @ 2022-08-29 17:22 翔村亲亲鸟 阅读(13) 评论(0) 推荐(0) 编辑
摘要:https://atcoder.jp/contests/dp/tasks/dp_f 题目 求两个字符串的最长公共子序列,需要输出这个子序列 思路 跑一边LCS的板子,跑的途中记录下从哪里转移过来,最后递推出答案 from[i][j] = 1: 表示从 from[i-1][j-1] 转移过来,这个时候 阅读全文
posted @ 2022-08-29 16:58 翔村亲亲鸟 阅读(26) 评论(0) 推荐(0) 编辑
摘要:题目 小红定义"漂亮串"为:至少有两个 red 子串。例如redcred为漂亮串, 但reedred则不是漂亮串,小红想知道,长度为 n 的、仅包含小写字母的字符串中,共有多少种不同的漂亮串? 思路 这道题我们正着考虑发现很难,那么本着正难则反的原则,我们反向攻破。漂亮串的总数等于总的方案数-没 阅读全文
posted @ 2022-08-29 16:58 翔村亲亲鸟 阅读(2243) 评论(0) 推荐(0) 编辑
摘要:题目 1005. Stone Pile @ Timus Online Judge 就是给你一组堆石头,分成两组,叫你求两组重量差的最小值 思路 这道题解法很巧妙,用01背包来解决 dp[i][j]: 表示前i个物品里面,花费代价小于等于j能获得的价值最大值,这里的代价为石头重量,价值也为石头重量。这 阅读全文
posted @ 2022-08-27 17:58 翔村亲亲鸟 阅读(53) 评论(0) 推荐(0) 编辑

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