经典DP
Bread Sir
记录算法之路
展开
-
DP经典应用(三)最长公共子序列LCS问题
最长公共子序列问题问题描述: 给定两个字符串 s1,s2,…..sn 和 t1,t2,….tm。求出这两个字符串最长的公共子序列的长度。 样例输入: 4 4 a b c d b e c d 样例输出: 3分析:按照3个步骤:1.刻画最优解结构特征: 定义dp[i][j]为s1,….si 与 t1,…tj 的最长公共子序列长度。2.递归地定义最优解的值: 对于序列s1,….sn原创 2017-04-06 19:54:48 · 521 阅读 · 0 评论 -
DP经典应用(二)最长递增子序列问题
最长递增子序列问题问题描述:有一个数组长为n,请求出这个序列中最长的递增子序列的长度。( 递增子序列:对于任意的i < j 都满足ai < aj的子序列 )样例输入: 5 4 2 3 1 5样例输出: 3分析:按照解决动态规划的前3个步骤我们进行分析:1.刻画一个最优解的结构特征: 定义dp[i]为以ai为末尾元素的最长递增子序列的长度。 比如根据样例输入,dp[0]=1。2.递归地定原创 2017-04-06 19:11:23 · 719 阅读 · 0 评论 -
DP经典应用(一)数字三角形问题
《算法竞赛入门》中动态规划的第一个例子就是经典的数字三角形问题。问题描述: 有一个由非负整数组成的三角形,每一行只有一个数,除了最下行之外每个数的左下外和右下方各有一个数。 1 3 2 4 10 1 4 3 2 20 最大值为1+2+1+20 = 24从第一行的数开始,每次可以往左下或游侠走一格,直到走到最下行,把原创 2017-04-04 23:36:18 · 904 阅读 · 1 评论 -
DP 经典问题(六)多重部分和问题
问题描述:有n种不同大小的数字ai,每种各mi个,判断是否可以从这些数字之中选出若干使它们的和恰好为K。(1 <=n <= 100 , 1 <= ai,mi <=100000 , 1 <= K <= 100000) 输入:n = 3 ,K = 17a = { 3 , 5 , 8}m = { 3 , 2 , 2}输出 Yes(3*3+8=17}分析:1.刻画一个最优解的结构特征: 定原创 2017-04-10 14:43:42 · 2074 阅读 · 0 评论 -
DP经典应用(五)硬币问题
问题描述:题目:有n种硬币,面值分别为V1,V2,…Vn,每种都有无限多。给定非负整数S,可以选用多少个硬币,使得面值之和恰好为S?输出硬币数目的最小值和最大值分析:按照解决动态规划的前3个步骤我们进行分析:1.刻画一个最优解的结构特征: 定义minv[i]和maxv[i]分别为面值为i时的最少硬币数目和最多硬币数目。 而minv[0] = max[0] = 0;这就是边界值,因为面值为0时,原创 2017-04-09 20:48:40 · 491 阅读 · 0 评论 -
三维最长上升子序列问题——HDU 1069 Monkey and Banana
题目: A group of researchers are designing an experiment to test the IQ of a monkey. They will hang a banana at the roof of a building, and at the mean time, provide the monkey with some blocks. If th原创 2017-04-16 15:47:08 · 1233 阅读 · 0 评论 -
POJ2385 Apple Catching(DP/递推)
问题描述 It is a little known fact that cows love apples. Farmer John has two apple trees (which are conveniently numbered 1 and 2) in his field, each full of apples. Bessie cannot reach the apples wh原创 2017-04-20 00:34:41 · 246 阅读 · 0 评论 -
DP经典应用(四)二维最长上升子序列问题——矩形嵌套问题
矩形嵌套问题问题描述:输入多个矩形的长和宽。矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a < c,b < d或者b < c,a < d,任务是选出尽可能多的矩形排成一行,使得除了最后一个之外,每一个矩形都可以嵌套在下一个矩形内求出最多嵌套矩形的个数。注意加粗的一段话,就要求我们必须先排序。样例输入:1101 22 45 86 107 93 15 812 109 72原创 2017-04-09 19:33:29 · 999 阅读 · 0 评论