动态规划
飘过的小牛
不停成长才会洞悉成功的奥妙,fighting!
展开
-
最长单调递增子序列(二分查找优化)
二分查找优化后的最长递增子序列原创 2011-05-09 20:57:00 · 2198 阅读 · 0 评论 -
NYOJ-422 字串和之差
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=422解题思路:这道题读完题应该就知道是一道动态规划题了,和做过的题类似的有一道求连续个数的最大值(有正,有负)。而这道题多了一个条件,是求绝对值,而且是最大值和最小值的绝对值。我的方法是开2个dp数组。dp[i]表示到第i个元素为止的最大值或者最小值,然后用max和min记录最原创 2011-11-28 16:24:27 · 1581 阅读 · 3 评论 -
HDU-2046 骨牌铺方格【递推】
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2046解题思路:因为递推这方面跟数学紧密相关,就看了一下相关方面的知识。这道题是一个简单题,应该都能想出来。因为只能放1×2规格的骨牌,那么,n规模的格子只能从n-1和n-2得来,n-1的时候我们增加一个2×1格子,竖着放,可以有f(n-1)种放法,n-2时候我们可以增加2×2个格子,2个都原创 2012-05-20 15:58:31 · 4137 阅读 · 0 评论 -
最长回文子串
描述输入一个字符串,求出其中最长的回文子串。子串的含义是:在原串连续出现的字符串片段。回文的含义是:正着看和倒着看是相同的,如abba和abbebba。在判断是要求忽略所有的标点和空格,且忽略大小写,但输出时按原样输出(首尾不要输出多余的字符串)。输入字符串长度大于等于1小于等于5000,且单独占一行(如果有多组答案,输出第一组)。输入输入一个测试数据n(1随后有n行,每行有一原创 2011-07-09 09:18:45 · 11340 阅读 · 4 评论 -
拦截导弹
描述某国为了防御敌国的导弹袭击,发展中一种导弹拦截系统。但是这种导弹拦截系统 有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国导弹来袭。由于该系统还在试用阶段 ,所以只用一套系统,因此有可能不能拦截所有的导弹。原创 2011-05-06 21:44:00 · 2527 阅读 · 0 评论 -
01背包另类诠释
经典的01背包问题对于动态规划,每个刚接触的人都需要一段时间来理解,特别是第一次接触的时候总是想不通为什么这种方法可行,这篇文章就是为了帮助大家理解动态规划,并通过讲解基本的01背包问题来引导读者如何去思考动态规划。本文力求通俗易懂,无异性,不让读者感到迷惑,引导读者去思考,原创 2011-08-25 10:14:28 · 2868 阅读 · 3 评论 -
括号匹配(未完成)
写了一个小时,想模拟一下。结果考虑了很多地方,到最后还是有个地方无法解决,就是[(])]只需要添加一个[即可,但是我的却无法判断str[i]以后的字符,因为我的只能判断str[i]以前的元素,在更新str[i+k]的时候,无法判断str[i]是否可以通过改变str[i+k]达原创 2011-08-09 09:44:58 · 1535 阅读 · 0 评论 -
01背包,完全背包,多重背包
P01: 01背包问题 这是最基本的背包问题,每个物品最多只能放一次题目有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。基本思路原创 2011-08-02 19:18:48 · 3891 阅读 · 0 评论 -
最长公共子序列(LCS)
输入第一行给出一个整数N(0接下来每组数据两行,分别为待测的两组字符串。每个字符串长度不大于1000.输出每组测试数据输出一个整数,表示最长公共子序列长度。每组结果占一行。样例输入2asdfadfsd123abcabc123abc样例输出36代码如下:#include#incl原创 2011-07-20 17:49:40 · 1507 阅读 · 1 评论 -
最长单调递增子序列
方法1:覆盖法#include#includeusing namespace std;char a[10001];char b[10001];int main(){ int n; cin>>n; while(n--) { int len, sum = 1, i, j; cin>>a; len = strlen(a); b[0] = a[0]; for(i = 0; i = 0; --j) { if(b[j] 方法2:新数组记录字原创 2011-05-07 10:26:00 · 1506 阅读 · 0 评论 -
求最长连续公共子序列和最长连续子字符串
求最长连续公共子序列和最长连续子字符串原创 2011-05-06 17:20:00 · 1843 阅读 · 0 评论 -
NYOJ - 104 最大和【DP】
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=104解题思路:这个就是二维的最大连续和问题。我们可以通过转化为一维的最大连续和来求解,方法就是用一个辅助数组temp。temp的作用就是将n行的矩阵压缩为一行(累加求和),这样就转化为了一维的最大连续和问题。然后我们对从第i行开始的子矩阵进行枚举即可。复杂度为O(N原创 2012-09-21 13:07:29 · 2396 阅读 · 0 评论