随笔分类 -  动态规划

摘要:原题:https://www.luogu.com.cn/problem/P1107 题意:给你n棵树,树的高度为h,树上有柿子,告诉你每棵树的哪些高度上有柿子。现在让你从任意一棵树的最高处开始往下走,如果在同一颗树上往下跳1单位距离,如果要去往别的树要往下跳delta的单位距离。问怎样走能吃到(经过 阅读全文
posted @ 2022-04-02 15:24 AtomsH 阅读(79) 评论(0) 推荐(0)
摘要:原题:https://www.acwing.com/problem/content/1029/ 题意:N*N的方格图,给你几个含有值的坐标,求两次从方格图左上角走到右下角途经的方格数最大和(只能往右和下走第一次走过的方格中值置零)。 分析:动态规划状态转移,由于只能往右和下走,所以两次走的步数一定都 阅读全文
posted @ 2022-02-10 16:28 AtomsH 阅读(47) 评论(0) 推荐(0)
摘要:题目链接:https://acm.dingbacode.com/showproblem.php?pid=6446 思路:给你n以及n-1对连边与边权,要求出:n个点在每一种排列情况下 [ 从排列起始点走到终止点的边权和 ] 的和。 以下是对第2个测试数据的详细解释: 通过观察总结可以得出公式:$an 阅读全文
posted @ 2021-10-07 00:23 AtomsH 阅读(60) 评论(0) 推荐(0)
摘要:题目链接:https://ac.nowcoder.com/acm/problem/21303 参考链接:https://ac.nowcoder.com/acm/problem/blogs/21303 思路:dp,动态规划的重点在于可以忽略中间步骤,适用于只是想知道方案数或者可行性的题目,因此可以对题 阅读全文
posted @ 2021-10-03 20:47 AtomsH 阅读(110) 评论(0) 推荐(1)
摘要:原题:合并回文子串 (nowcoder.com) 题意:输入两个字符串a和b,要求将其合并成字符串c,同时保持a和b中字符顺序不变,求能合成的最长回文子串长度。 分析:区间dp,具体看代码注解。 题解: #include <bits/stdc++.h> using namespace std; co 阅读全文
posted @ 2021-08-25 10:53 AtomsH 阅读(122) 评论(0) 推荐(0)
摘要:原题:291. 蒙德里安的梦想 - AcWing题库 题意:求把N×M的棋盘分割成若干个1×2的的长方形,有多少种方案。 分析:状压dp,具体看代码注解。 题解: //状压dp:棋盘式 //二进制记录状态 //结论:总方案数=只考虑横着放的方案数(考虑完横着放后,把竖的填进去就完事了) //根据上述 阅读全文
posted @ 2021-08-02 00:32 AtomsH 阅读(102) 评论(0) 推荐(0)
摘要:原题: Problem - D - Codeforces 题意:给你一个数组,以及选择数组中数对应的花费。现要求从数组中选出部分数,使这些数的最大公约数为1,且花费最小,输出最终花费。 分析: dp[i]表示使目前最大公约数为i的最小花费,由于数字较大,需要用map存储。 题解: #include 阅读全文
posted @ 2021-06-05 15:16 AtomsH 阅读(54) 评论(0) 推荐(0)