动态规划
文章平均质量分 70
ren_hui
每天早上醒来你荷包里的最大资产是24个小时你生命宇宙中尚未制造的材料
展开
-
hdu 1412 搬寝室 (很好的一道dp题)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1421 解题报告:关于这道题,主要是求递推公式,要求是两手的重量只差尽量小。所以我们可以对初始数据进行一下排序(个人习惯用sort) dp[i][j]表示从前i件中选出j对重量之差最小的值。 val[i]:表示相邻的两件之间的最小值(注意每件物品已经排序) 递推:假设第i件不被选为要搬的原创 2013-08-01 09:50:32 · 695 阅读 · 0 评论 -
hdu 1159 Common Subsequence (最长公共子序列)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1159 解题报告:原来看到这个类形的题,感觉无从下手,那时候还不明白动态规划的思想,最近在学习动态规划,感觉很神奇的东西,只要有最优子结构的问题,一般都可以转换为动态规划,使时间复杂度降为多项式的问题 这道题目刚开始学动态规划,时间复杂度为你n^2,空间复杂度也是n^2,今后慢慢学习优化,原创 2013-08-05 09:36:15 · 551 阅读 · 0 评论 -
hdu 1176 免费馅饼 (数塔)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1176 解题报告:如果以下落的时间为纵轴,以移动的横线为横轴,则可以把改问题抽象为数塔问题,只不过该数塔只有5层剩下的是一个矩形 更新的时候注意范围,这里我把三角形的外侧赋值为-1,就是在这片区域不能被更新 代码有点乱 code: #include #include原创 2013-08-06 20:14:24 · 519 阅读 · 0 评论 -
hdu 1231 最大连续子序列 (dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1231 解题报告:一晚上加一上午啊!终于搞出来了! 相信最大连续子串和都可以写出来,网上资料一大堆,像N^3,N^2,N算法都有,本题关键是纪录初始位置和终止位置,刚开始想用下标纪录位置,但是总是wa!纠结了一晚上也没有思路,所以换了一种方法,直接 纪录每次的初始位置和终止位置,如果更新su原创 2013-08-07 10:54:57 · 637 阅读 · 0 评论 -
hdu 1025 Constructing Roads In JGShining's Kingdom (最长上升子序列)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1025 解题报告:刚开始想用二分匹配,但是二分匹配可以使线相交,明显不行; 其实这道题仔细挖掘,可以发现很多信息 !每个P都与唯一的一个r相连,每一个r都与唯一的p相连,就保证从1 到n的每个数都不会空着,就可以从1-----n来找富城市所对应的穷城市,穷城市之间的序号也从小到大即可加入dp原创 2013-08-08 10:34:15 · 534 阅读 · 0 评论 -
hdu 1058 Humble Numbers (dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1058 解题报告:纠结!看了两三天了,始终不知到如何找递推关系式,今天终于忍不住了,看了别人的解题报告才搞明白(自己还是很水啊!) 关系式 a[n]=min(2*a[c1],3*a[c2],5*a[c3],7*a[c4]); 然后从小到大一个一个的往上递推!(这方法也太牛了吧) 本以为是原创 2013-08-09 09:43:47 · 552 阅读 · 0 评论 -
hdu 1081 To The Max (动态规划)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1081解题报告:求最大的矩阵和的问题,可以转化为最大连续子序列和的模型,只不过这个是一个二维的问题。如何转化是关键:我们可以把每一项变成前面多项的和,通过相减计算每个子矩阵。在求解的时候竖着求解,这样子问题就转换为1维求解最大连续子序列和的问题。给一组参考数据:4-3 -7 -1 -2-3 -4 ...原创 2013-08-10 21:30:44 · 116 阅读 · 0 评论 -
hdu 1158 Employment Planning (动态规划)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1158 解题报告:自我感觉这道题目的状态方程不太容易。 刚开始用一维的搞,这么也得不到正确答案,后来想有月份、人数,应该用二维的。 首先雇主要在第n月花钱最少,一定是在第n-1月花钱也是最少,一定具有最有子结构,可以想到动态规划; 如果第n个月的需要的人数比第n-1个月的多,则需...2013-08-12 15:32:29 · 101 阅读 · 0 评论 -
hdu 3336 Count the string (KMP算法)
http://acm.hdu.edu.cn/showproblem.php?pid=3336 解题报告:刚开始用的是暴力的方法,就是每次往next数组中加一个元素,然后再在整个数组中进行查找,虽然加了很多的优化,但是还是无限的TLE中。(拒绝暴力,另寻他路)。 直接用next数组的意义,不过这次的求解next的方法与上次有些不同,暂且叫作方法二吧: void get_next...2013-08-17 11:00:06 · 108 阅读 · 0 评论