最长上升子序列 Description 一个数的序列bi,当b1 < b2 < … < bS的时候,我们称这个序列是上升的。对于给定的一个序列(a1,a2, …, aN),我…
分类:动态规划
剪绳子(动态规划和贪婪算法)
题目: 把长度为n的绳子剪成m段(n>1,m>1),每段绳子的长度记为k[1],…k[m],则每段绳子的长度的最大乘积是多少?例如身子长度为8时,剪成2,3,3三段得到的乘积最大,为18。 思路:…
动态规划求不相邻的最大子数组和
其实这个问题原题是这样描述的: 有N个节点,每两个节点相邻,每个节点只与2个节点相邻,因此,N个顶点有N-1条边。每一条边上都有权值wi,定义节点i到节点i+1的边为wi。 求:不相邻的权值和最大的边的集合。 对于这个问…
动态规划之矩阵连乘问题
问题描述: 矩阵连乘问题是通过给矩阵连乘时加括号,使得总的计算量最小。 考虑3个矩阵相乘的例子, A1,A2,A3,假设这3个矩阵的维数分别为 10×100,100×50,5×50 若按照(…
最长回文子串—动态规划和Manacher算法(0(n)时间复杂度
动态规划:dp[i][j] = 1 i==jdp[i][j] = dp[i+1][j-1] + 2 str[i] == str[j]dp[i][j] = max(dp[i+1][j], dp[i…
递归和动态规划(1)
动态规划只是递归的一种优化,凡是可以使用动态规划解决的问题基本上都可以使用递归的方法。下面是联系题 字符串的交错组成 【题目】 给定三个字符串str1、str2和aim。如果aim包含且仅包含来自str1和str2的所有…
动态规划之机器人走方格
一、无障碍的网格 问题描述: 有一个XxY的网格,一个机器人只能走格点且只能向右或向下走,要从左上角走到右下角。请设计一个算法,计算机器人有多少种走法。给定两个正整数int x,int …
(算法)交错的字符串
题目: 给定三个字符串A, B, C,判断C是否由A和B交错构成。交错构成的意思是,对于字符串C,可以将其每个字符标记为A类或B类,使得我A类的每个字符顺序构成了A字符串,B类的每个字符顺序构成了B字符串。如:对于A=”…
插入r个乘号问题的动态规划求解
利用穷举法求解法插入4个乘号请访问:http://www.vcworld.net/bbs/viewthread.php?tid=8580&extra= 一、问题提出  …
动态规划之滑雪问题c++实现
问题描述: Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Micha…
【动态规划】 方格取数
题目描述 给定一个N*M的矩阵,记录左上角为(1,1),右下角为(N,M),现在从(1,1)开始取数,每次只能向下或向右移动一个单位,最终到达(N,M),我们把路径上所有的数相乘,记为C。使C的结果最大已经不能满足我们了…
动态规划及其应用
1.动态规划概述1.1 什么是动态规划相信大家都遇到过这样一个问题:例题1 如图1,有一个有向图,图中有n层顶点,除了第n层以外,第i层与第i+1层之间有边。边上的数值代表两个顶点的距离。要求找一条…