
动态规划——2D/0D
文章平均质量分 71
dumeichen
这个作者很懒,什么都没留下…
展开
-
poj 1157(SGU 104) 动态规划(花瓶插花)
题意:有F种花,将插入V个花瓶里。花要按编号插,不同花插入不同的花瓶有不同的美观程度,要求最大的美观程度原创 2014-07-24 21:09:18 · 848 阅读 · 0 评论 -
poj 1080 dp(sequence alignment)
题意:经典sequence alignment。给定两个ACGT串,求其最优距离。其中字母配对值给定。思路:dp。#include #include #define N 105char 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 · 608 阅读 · 0 评论 -
poj 3186 dp(按天出手的最大值)
题意:给定n个物品,重量分别为s1...sn。分n天卖出,第一天单价为1,第n天为n。已知每次卖出只能从n个物品的头或尾挑一个。求最大收益值。思路:一开始以为是加括号,提交TLE。参考(http://blog.youkuaiyun.com/libin56842/article/details/9735231)知道应该是由里向外逆推区间。#include #include #define max(a原创 2014-11-27 22:31:59 · 507 阅读 · 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 · 1259 阅读 · 0 评论 -
poj 1163 动态规划(从顶到底最大和)
题意:给出yi思路:原创 2014-07-23 20:07:19 · 524 阅读 · 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 · 291 阅读 · 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 · 647 阅读 · 0 评论 -
poj 3042 区间dp(草的过期程度最小)
题意:在一维上有n块草坪,给出每块草坪的位置(可以看做是x轴上的整数点),Bessie初始位于L位置,他可以向左右两个方向去吃草坪,假设吃草坪的时间不计,路上的时间是每走一个单位,时间+1,每块草坪都有一个staleness值,这个值恰好等于Bessie到达的时间,现在要求的是Bessie将所有草坪吃完,所有草坪的staleness值之和最小。思路:这是一道区间DP的问题,我们用dp[i][j原创 2015-09-16 16:43:15 · 415 阅读 · 0 评论