
动态规划
_Sincerely
这个作者很懒,什么都没留下…
展开
-
采草药——01背包问题
辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。”如果你是辰辰,你能完成这个任务吗?输入格式第一行有两个整数 T(1≤T≤1000) 和 M(1≤M≤100),用一个空格隔开,T原创 2021-02-21 11:20:36 · 316 阅读 · 0 评论 -
迷宫问题
下图给出了一个迷宫的平面图,其中标记为1 的为障碍,标记为0 的为可以通行的地方。010000000100001001110000迷宫的入口为左上角,出口为右下角,在迷宫中,只能从一个位置走到它的上、下、左、右四个方向之一。对于上面的迷宫,从入口开始,可以按DRRURRDDDR 的顺序通过迷宫,一共10 步。其中D、U、L、R 分别表示向下、向上、向左、向右走。对于下面这个更复杂的迷宫(30 行50 列),请找出一种通过迷宫的方式,其使用的步数最少,在步数最少的前提下,请找出字典序最小的一原创 2020-09-20 19:36:02 · 638 阅读 · 0 评论 -
动态规划#洛谷 P1002 过河卒
思路:一开始使用了搜索,结果分数较低。查看了部分题解后开始采用动态规划。状态转换方程如下代码:#include<iostream>#include<cstring>#include<cstdio>#include<algorithm>#define ull unsigned long longusing namespace std;const int fx[] = {0, -2, -1, 1, 2, 2, 1, -1, -2};c..原创 2020-08-11 23:10:06 · 180 阅读 · 0 评论 -
完全背包#洛谷 P1616 疯狂的采药
题目描述LiYuxiang 是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同种类的草药,采每一种都需要一些时间,每一种也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。”如果你是 LiYuxiang,你能完成这个任务吗?此题和原题的不同点:每种草药可以无限制地疯狂采原创 2020-08-11 16:30:46 · 242 阅读 · 0 评论 -
动态规划入门#矩阵连乘问题
动态规划算法通常用来求解具有某种最优性质的问题。在这类问题中,可能会有许多可行解。每一个解都对应于一个值,我们希望找到具有最优值的解。动态规划算法与分治法类似,其基本思想也是将待求解的问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。与分治法不同的是,适用于用动态规划求解的问题,经分解得到的子问题往往不是互相独立的。若用分治法来求解这类问题,则分解得到的子问题数目太多,...原创 2020-03-24 21:04:18 · 326 阅读 · 0 评论 -
#动态规划#最长公共子序列问题
求两个字符串的最长公共子序列。给出动态规划方程:#include<iostream>#include<cstdio>using namespace std;const int maxn=100;//x[]存储第一个序列,y[]存储第二个序列,c[][]存储公共子序列的情况 //b[]记录c的值是由哪一个子问题的解得到的,用来构建最长公共子序列 void ...原创 2020-03-26 17:31:39 · 265 阅读 · 0 评论