![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划
文章平均质量分 94
yzd111
努力成为练习一坤年的初级程序员
展开
-
动态规划08-记忆化搜索
给定一个R行C列的矩阵,表示一个矩形网格滑雪场。矩阵中第i行第j列的点表示滑雪场的第i行第j列区域的高度。一个人从滑雪场中的某个区域内出发,每次可以向上下左右任意一个方向滑动一个单位距离。当然,一个人能够滑动到某相邻区域的前提是该区域的高度低于自己目前所在区域的高度。下面给出一个矩阵作为例子:在给定矩阵中,一条可行的滑行轨迹为24−17−2−1。在给定矩阵中,最长的滑行轨迹为25−24−23−−3−2−1,沿途共经过25个区域。原创 2024-08-24 20:07:54 · 490 阅读 · 0 评论 -
动态规划07-树形 DP
树形DP一般思路,从分析子树入手,最优解通常是和子树根节点u相关的函数,状态计算就是寻找根节点和子节点以及权边的递推关系。编写代码,通常需要dfs,从根到叶,再从叶到根,在合适的时候DP。原创 2024-08-24 20:07:09 · 495 阅读 · 0 评论 -
动态规划06-状态压缩 DP
关于状态压缩的解释,参考这一篇文章。原创 2024-08-24 20:00:00 · 780 阅读 · 0 评论 -
动态规划05-数位统计类 DP
给定两个整数a和b,求a和b之间的所有数字中0∼9的出现次数。例如,a1024b1032,则a和b之间共有9个数102410251026102710281029103010311032其中0出现10次,1出现10次,2出现7次,3出现3次等等…输入包含多组测试数据。每组测试数据占一行,包含两个整数a和b。当读入一行为00时,表示输入终止,且该行不作处理。每组数据输出一个结果,每个结果占一行。原创 2024-08-24 19:56:20 · 560 阅读 · 0 评论 -
动态规划04-计数类 DP
一个正整数nnn1n2nk,其中n1≥n2≥≥nkk≥1。我们将这样的一种表示称为正整数n的一种划分。现在给定一个正整数n,请你求出n共有多少种不同的划分方法。共一行,包含一个整数n。共一行,包含一个整数,表示总划分数量。由于答案可能很大,输出结果请对1097取模。1≤n≤100057。原创 2024-08-24 19:55:44 · 421 阅读 · 0 评论 -
动态规划03-区间 DP
设有N堆石子排成一排,其编号为123N。每堆石子有一定的质量,可以用一个整数来描述,现在要将这N堆石子合并成为一堆。每次只能合并相邻的两堆,合并的代价为这两堆石子的质量之和,合并后与这两堆石子相邻的石子将和新堆相邻,合并时由于选择的顺序不同,合并的总代价也不相同。例如有4堆石子分别为 1 3 5 2, 我们可以先合并12堆,代价为4,得到 4 5 2, 又合并12堆,代价为9,得到 9 2 ,再合并得到11,总代价为491124;如果第二步是先合并23。原创 2024-08-24 19:50:31 · 645 阅读 · 0 评论 -
动态规划02-线性 DP
给定一个如下图所示的数字三角形,从顶部出发,在每一结点可以选择移动至其左下方的结点或移动至其右下方的结点,一直走到底层,要求找出一条路径,使路径上的数字的和最大。73 88 1 0第一行包含整数n,表示数字三角形的层数。接下来n行,每行包含若干整数,其中第i行表示数字三角形第i层包含的整数。输出一个整数,表示最大的路径数字和。1≤n≤500−10000≤三角形中的整数≤10000573 88 1 02 7 4 44 5 2 6 530。原创 2024-08-24 19:49:07 · 445 阅读 · 0 评论 -
动态规划01-背包问题
有N件物品和一个容量是V的背包。每件物品只能使用一次。第i件物品的体积是Vi,价值是Wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。第一行两个整数NV,用空格隔开,分别表示物品数量和背包容积。接下来有N行,每行两个整数ViWi,用空格隔开,分别表示第i件物品的体积和价值。输出一个整数,表示最大价值。原创 2024-08-24 19:48:25 · 602 阅读 · 0 评论