ACM-动态规划
文章平均质量分 66
hereIambabe
这个作者很懒,什么都没留下…
展开
-
动态规划入门-矩阵取数
对应一个矩阵(不妨设是一个正方形的),我们需要从左上角走到右下角,每一个格子都有自己的数字,每一次只能走右边一格或者下方的一个格子,试求我们到达终点后可以得到的最大值。输入第1行:N,N为矩阵的大小。(2 第2 - N + 1行:每行N个数,中间用空格隔开,对应格子中奖励的价值。(1 输出输出能够获得的最大价值。输原创 2017-08-08 13:19:03 · 638 阅读 · 1 评论 -
最大报销额
问题 : 最大报销额时间限制: 1 Sec 内存限制: 128 MB提交: 844 解决: 623[提交][状态][讨论版]题目描述现有一笔经费可以报销一定额度的发票。允许报销的发票类型包括买图书(A类)、文具(B类)、差旅(C类),要求每张发票的总额不得超过1000元,每张发票上,单项物品的价值不得超过600元。现请你编写程序,在给出的一堆发票中找出可以报销的、不原创 2017-09-08 21:48:42 · 354 阅读 · 0 评论 -
正整数分组
最后,我们来提供输入输出数据,由你来写一段程序,实现这个算法,只有写出了正确的程序,才能继续后面的课程。输入第1行:一个数N,N为正整数的数量。第2 - N+1行,N个正整数。(N 输出输出这个最小差输入示例512345输出示例1题目和教程来源于:http://www.51nod.com/原创 2017-08-15 01:15:37 · 512 阅读 · 0 评论 -
背包九讲第一讲-简单的0/1背包问题有感1.4
在背包九讲中,还提及到了初始化的问题这是来自崔添翼 (Tianyi Cui, a.k.a. dd_engi)老师的背包九讲的讲解:1.4 初始化的细节问题我们看到的求最优解的背包问题题目中,事实上有两种不太相同的问法。 有的题目要求“恰好装满背包”时的最优解,有的题目则并没有要求必须把背 包装满。一种区别这两种问法的实现方法是在初始化的时候有所不同。如果是第一种问法,要原创 2017-08-12 19:22:44 · 334 阅读 · 0 评论 -
背包九讲第一讲-简单的0/1背包问题有感1.3
如何改进呢?我觉得大家还是可以先看看这一幅图ok。。。。。。我们先focus on输出14,那部分正确的。0 0 5 5 5 5 50 0 5 8 8 13 130 0 5 8 9 13 14不知道大家对于这个有没有什么想法。。。。。。是不是觉得,好像有一些东西是重复的,没用的。我那时候看上去我觉得,可能能够通过使用dp一维数组来降低我们的复杂度。原创 2017-08-12 19:16:25 · 408 阅读 · 0 评论 -
背包九讲第一讲-简单的0/1背包问题有感1.2
对于我有保留的地方,是j的取值范围为什么是从w[i]开始呢?我的疑问来源于下面这个网址的一道题:http://www.51nod.com/tutorial/course.html#!courseId=6输入第1行,2个整数,N和W中间用空格隔开。N为物品的数量,W为背包的容量。(1 <= N <= 100,1 <= W <= 10000)第2 - N + 1行,每行2个整原创 2017-08-12 19:02:42 · 270 阅读 · 0 评论 -
背包九讲第一讲-简单的0/1背包问题有感1.1
背包问题的核心是一条状态转移方程:我用zone表示背包的最大空间j=w[i];jdp[i][j]=max(dp[i-1][j],dp[i-1][j-w[i]]+v[i]);在这里,dp是存储最大价值的数组,其中i代表,现在正在考虑第几个物品,要知道,我们前面的i-1个物品已经都求解完毕并且存储起来了。w[i]对应了第i件物品的重量(容积),v[i]对应了第i件物品的价值在这里我原创 2017-08-12 18:53:28 · 382 阅读 · 0 评论 -
最长单增子序列
(LIS Longest Increasing Subsequence)给定一个数列,从中删掉任意若干项剩余的序列叫做它的一个子序列,求它的最长的子序列,满足子序列中的元素是单调递增的。例如给定序列{1,6,3,5,4},答案是3,因为{1,3,4}和{1,3,5}就是长度最长的两个单增子序列。思路对于这个问题的话,我们很简单就有两个思路,第一个思路的话就是我们可以通过复杂原创 2017-08-12 10:37:46 · 541 阅读 · 1 评论 -
emmmmm......滚动数组和0/1背包问题的一些新体会
今天下午上了一节课,讲的是关于dp问题,我觉得这里面有两个点挺吸引我的。第一个就是当老师讲到了0/1背包问题的时候,说到了一个情况,那就是我们在什么时候采取dp这种方法做比较好老师给的一个小限定就是当背包的容量大小远远小于2的n次方(n是物品数量)这个也不能想象,因为我们知道我们的0/1背包问题的复杂度,就是O(nc),(c是背包的容量)如果我们的c不能和2的n次方形容一个明显原创 2017-08-17 17:28:25 · 398 阅读 · 1 评论 -
最长公共子序列问题
输入第1行:字符串A第2行:字符串B(A,B的长度 输出输出最长的子序列,如果有多个,随意输出1个。输入示例abcicbaabdkscab输出示例abca问题and教程来源:http://www.51nod.com/tutorial/course.html#原创 2017-08-09 14:39:41 · 354 阅读 · 0 评论 -
Super Jumping! Jumping! Jumping! (前面那篇文章因为格式问题删了重写了一篇
Super Jumping! Jumping! Jumping!Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 40411 Accepted Submission(s): 18655Problem Descript原创 2017-08-08 23:22:55 · 508 阅读 · 0 评论 -
动态规划入门-最大子段
题目and教程来源http://www.51nod.com/tutorial/course.html#!courseId=2输入第1行:整数序列的长度N(2 <= N <= 50000)第2 - N + 1行:N个整数(-10^9 输出输出最大子段和。输入示例6-211-413-5-2原创 2017-08-08 14:44:28 · 235 阅读 · 0 评论 -
正整数分组
题目描述将一堆正整数分为2组,要求2组的和相差最小。例如:1 2 3 4 5,将1 2 4分为1组,3 5分为1组,两组和相差1,是所有方案中相差最少的。输入第1行:一个数N,N为正整数的数量。第2 - N+1行,N个正整数。(N 输出输出这个最小差样例输入512345样例输出1提示解题思原创 2017-09-09 18:48:05 · 296 阅读 · 0 评论