
动态规划
文章平均质量分 76
ScorpioN___
这个作者很懒,什么都没留下…
展开
-
poj2479 Maximum sum(动态规划)
题意:在一个序列中寻找两个连续子序列,并且他们的和最大。思路:定义两个数组。第一个数组从前往后记录前i(1-i)个元素中最大连续子序列,第二个数组从后往前记录前i(i-n)个元素中最大子序列和。代码如下: #include#include#include#include#define MAX 0x3f3f3f3fusing namespace std;int num[5原创 2016-10-09 23:57:39 · 395 阅读 · 0 评论 -
poj 1080 Human Gene Functions 动态规划(最长公共子序列)
#include#include#include#includeusing namespace std;char str1[105],str2[105];int map[5][5]={5,-1,-2,-1,-3,-1,5,-3,-2,-4,-2,-3,5,-2,-2,-1,-2,-2,5,-1,-3,-4,-2,-1,0};int dp[105][105];int pd(char原创 2016-10-12 23:38:00 · 516 阅读 · 0 评论 -
poj1141 Brackets Sequence (区间dp)
点击打开链接刚学区间dp,所以先去上网搜了别人的代码,区间dp那点明白了,就是不断更新一个区间内需要填加括号的数目,直到值是最小值。然后是那个打印路径,那个地方一直没看懂,不明白为什么那样保存,然后自己手动模拟了一遍,又照着网上的代码敲了一遍才逐渐明白,其实就是保存一个区间是怎么分割的,把一个区间分成若干个子区间,怎样合并使值达到最小,区间值达到最小之后两个相邻的子区间断开的地方就是要保存的值原创 2016-10-11 13:10:49 · 429 阅读 · 0 评论 -
codeforces 721C journey(动态规划+拓扑排序)
当时比赛的时候没写出来,然后看了网上大牛的博客才明白的,也通过这个题明白了前向星,拓扑排序,收获挺大的。大牛的博客:http://www.cnblogs.com/ziliuziliu/p/5931553.html附上自己的代码,有注释,按我自己理解写的.#include#define INF 0x3f3f3f3fusing namespace std;int n,m,t,head原创 2016-10-25 14:32:16 · 1028 阅读 · 1 评论