![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DP问题。
文章平均质量分 59
kaiweisun
这个作者很懒,什么都没留下…
展开
-
poj 1837DP 问题
题意:在平衡秤上,左右分别有n个固定点,给你m个重量的秤砣,要求你把这些秤砣全部用上并保持平衡,求这样的组合有多少? 思路:这个题我做的时候是归类在0-1背包里,然后这题又不是常规的求最优解,所以可以联想到给出若干物品 求其能组合的类型有多少这类类型的题目,分析知它最大的值为20*15*25=7500,然后乘上20=15000。明显可以用数组装下。所以可以这样定义它...原创 2011-12-12 20:42:43 · 63 阅读 · 0 评论 -
poj 1088滑雪问题
题意:给出一个图,求图上的一条最长的下降路径。 思路:很经典的DP,求二维的最长下降子序列。用记忆化的搜索,构造以每个点为起点的最长下降路径,结合DP的状态方程:DP[i][j] = max(DP[i-1][j],DP[i+1][j],DP[i][j-1],DP[i][j+1]) + 1。(if map[i][j] > map[x][y] && (x,y) i...原创 2011-12-20 20:57:54 · 238 阅读 · 0 评论 -
poj1157
题意:现在有F束不同品种的花束,同时有至少同样数量的花瓶被按顺序摆成一行,其位置固定于架子上,并从1至V按从左到右顺序编号,V是花瓶的数目(F≤V)。花束可以移动,并且每束花用1至F的整数唯一标识。标识花束的整数决定了花束在花瓶中排列的顺序,如果i<j,花束i必须放在花束j左边的花瓶中。每个花瓶只能放一束花。如果花瓶的数目大于花束的数目,则多余的花瓶空置。 每一个花瓶都具有各自的特点。因...原创 2011-12-21 15:39:16 · 115 阅读 · 0 评论 -
poj 1276
题意: 这道题的意思是给你一堆钱,各种面值的都有,比如10块的5张,5块的3张,2块的1张,请找出利用这些钱可以凑成的最接近且小于给定的数字cash的数额,比如cash=33块。我们可以取3张10块+2张1块=32,就是我们可以找到的那个最接近且小于33的数额。 思路: 多重背包问题的一种变形运用,比较简单。dp[i]用来表示第i大小金额的值是否能够取到。 代码如下: ...原创 2012-05-25 16:20:00 · 178 阅读 · 0 评论 -
poj 3267
从程序可以看出,第i个位置到L所删除的字符数,总是先取最坏情况,只有可以匹配单词时才进入第二条方程进行状态优化更新。 题意就是给出一个主串,和一本字典,问最少在主串删除多少字母,可以使其匹配到字典的单词序列。 PS:是匹配单词序列,而不是一个单词 不多说,看程序 主要是知道状态方程的含义 dp[i]表示从message中第i个字符开始,到第L个字符(结尾处)这段区间所删除的字符数,...原创 2012-05-26 09:43:55 · 68 阅读 · 0 评论 -
poj 1836
是POJ2533的扩展题。题意不难,令到原队列的最少士兵出列后,使得新队列任意一个士兵都能看到左边或者右边的无穷远处。就是使新队列呈三角形分布就对了。士兵的排列就是如附件所示所示:图片中的蓝色士兵的身高和红色士兵的身高是完全没有关系的。 要求最少出列数,就是留队士兵人数最大,如图: 即左边的递增序列人数和右边的递减序列人数之和最大因而可转化为求“最长不降子序列”和“最长不升...原创 2012-05-28 09:22:33 · 94 阅读 · 0 评论 -
poj 1260
题意解释: 有n个等级的珠宝,等级依次升高,等级越高价钱越高,每买一个等级的任何数量的珠宝必须多付10颗此种珠宝的价钱,可以用高等级的珠宝代替低等级的,问要买到若干规定的数量和等级珠宝的最少花费。例如买5颗价值为10的、100颗价值为20的珠宝,有两种方案:一种为分别买两种等级的珠宝价钱为(5+10)*10+(100+10)*20 = 2350;另一种是将等级低的(即价格低)的珠宝全部换为等级高...原创 2012-05-28 09:54:52 · 84 阅读 · 0 评论 -
poj 3176
大致题意: 输入一个n层的三角形,第i层有i个数,求从第1层到第n层的所有路线中,权值之和最大的路线。 规定:第i层的某个数只能连线走到第i+1层中与它位置相邻的两个数中的一个。 解题方法: 用二维数组way[][]靠左存储三角形内的数据,那么连线规则变更为 way[i][j] → Way[i+1][j] 或 Way[i][j] → Way[i+1][j+1] 注意:w...原创 2012-05-28 14:47:46 · 199 阅读 · 0 评论 -
poj 1080
题意: 给两串DNA序列,按照给定的方法找他们最大的相似度。比如序列AGTGATG和GTTAG,化为AGTGATG和-GTTA-G,相似度最大,为14。 思路: 由低到高的往上递推,动态规划。 设dp(i,j)为第一个序列(s1)的前i个数和第二个序列(s2)的前j个数的相似度的最大值。当s1[i-1]==s2[j-1]时,由题目给出的表显然可以得出dp(i,j)=dp...原创 2012-08-03 16:12:55 · 94 阅读 · 0 评论