动态规划——2D/0D
文章平均质量分 71
dumeichen
这个作者很懒,什么都没留下…
展开
-
poj 1157(SGU 104) 动态规划(花瓶插花)
题意:有F种花,将插入V个花瓶里。花要按编号插,不同花插入不同的花瓶有不同的美观程度,要求最大的美观程度原创 2014-07-24 21:09:18 · 790 阅读 · 0 评论 -
poj 1080 dp(sequence alignment)
题意:经典sequence alignment。给定两个ACGT串,求其最优距离。其中字母配对值给定。 思路:dp。 #include #include #define N 105 char s[N],t[N]; int dp[N][N],p[256][256],T; int max(int a,int b,int c){ if(a>b) return (a>c?a:c);原创 2014-11-26 16:40:38 · 579 阅读 · 0 评论 -
poj 3186 dp(按天出手的最大值)
题意:给定n个物品,重量分别为s1...sn。分n天卖出,第一天单价为1,第n天为n。已知每次卖出只能从n个物品的头或尾挑一个。求最大收益值。 思路:一开始以为是加括号,提交TLE。参考(http://blog.csdn.net/libin56842/article/details/9735231)知道应该是由里向外逆推区间。 #include #include #define max(a原创 2014-11-27 22:31:59 · 483 阅读 · 0 评论 -
poj 2353 双向dp(麻烦的办公室盖章)
题意:给定一个n*m的整数数组。现在要从第一行中的任意点移动到最后一行的任意点,要求每次只能移动一个距离(向左右或者向下,不能向上)。求路径所包含数值之和最小的时候的路径。 思路:dp。dp[i][j] 表示从第一行走到到第i行第j列这个位置的最小代价(路径包含的所有数值之和)。显然有dp[ i ][ j ] = min(dp[ i ][ j-1 ] , dp[ i ][ j+1 ] , dp[原创 2014-11-06 09:38:52 · 1223 阅读 · 0 评论 -
poj 1163 动态规划(从顶到底最大和)
题意:给出yi 思路:原创 2014-07-23 20:07:19 · 501 阅读 · 0 评论 -
poj 3661 dp(Running)
题意:Bessie参加跑步比赛,每一分钟可以选择跑或者休息,同时给出每一分钟如果跑的话,可以跑的距离:跑的话,疲劳度会加1;休息的话,疲劳度减1;且疲劳度不可以超过m。跑完后疲劳度必须为0,求满足条件可以跑得最远距离。 思路:我自己按照直观想的3维dp。dp[i][j][0] 表示第i分钟之后,疲劳度为j,且第i分钟在休息的最大值;dp[i][j][1]表示第i分钟之后,疲劳度为j,且第i分钟在原创 2015-08-29 15:27:37 · 263 阅读 · 0 评论 -
poj 3046 dp(有重复元素的组合数)
题意:给出T种数字(1~T)。每种各有N[i]个。然后用这些数字构成的元素数量在a~b之间的组合数之和。 例如全集={1, 1, 2, 2, 3},即数字1和2出现两次,数字3出现1次。 那么元素数量为1的组合有3种: {1} {2} {3} 元素数量为2的组合有5种: {1,1} {1,2} {1,3} {2,2} {2,3} 元素数量为3的组合有5种: {1,1,2} {1,1,3原创 2015-09-12 14:41:31 · 604 阅读 · 0 评论 -
poj 3042 区间dp(草的过期程度最小)
题意:在一维上有n块草坪,给出每块草坪的位置(可以看做是x轴上的整数点),Bessie初始位于L位置,他可以向左右两个方向去吃草坪,假设吃草坪的时间不计,路上的时间是每走一个单位,时间+1,每块草坪都有一个staleness值,这个值恰好等于Bessie到达的时间,现在要求的是Bessie将所有草坪吃完,所有草坪的staleness值之和最小。 思路:这是一道区间DP的问题,我们用dp[i][j原创 2015-09-16 16:43:15 · 390 阅读 · 0 评论