求连续子序列的最大和为毛简单的入门DP没有思路啊。。学习下别人的解法,理解起来倒还是很容易的。 1 //#define LOCAL 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 8 const in...
分类:
其他好文 时间:
2014-07-24 14:46:15
阅读次数:
206
归并排序还是比较好理解的。归并的含义是将两个或者两个以上的有序表组合成一个新的有序表。
具体方式是:假设初始序列含有n个记录,则可以看成是n个有序的子序列,每个子序列的长度为1,然后两两归并,得到若干长度为2或者1的有序子序列,再两两归并。。。直至得到一个长度为n的有序序列为止,这就称之为2路归并排序。
复杂度:归并排序的最好最坏和平均时间复杂度都是O(n*logn),但是需要...
分类:
其他好文 时间:
2014-07-24 11:33:12
阅读次数:
223
最长子序列和的问题。
时间复杂度从O(n3)到O(n)...
分类:
编程语言 时间:
2014-07-24 10:40:34
阅读次数:
216
求递增子序列的最大和,没什么好说的。粗暴1A,嘎嘎! 1 //#define LOCAL 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 8 int a[1010]; 9 int dp[1010];1...
分类:
其他好文 时间:
2014-07-24 04:59:58
阅读次数:
254
单调递增子序列的变形,一种长方体虽说可以有无限个,但它最多有3中摆放方法(我们假设x方向的长度不小于y方向的长度)。然后对x递减一级排序,y递减二级排序,相当于按面积递减排序。dp初始化就是对应状态的长方体的高度如果第j个长方体的x,y分别(严格)大于第i个长方体的x,y (这里排序后的j 3...
分类:
其他好文 时间:
2014-07-24 04:59:08
阅读次数:
259
这次有两道题以前已经做过了,所以分数什么的也没有意义了。发现这年的难度设置极不靠谱,前三题都比较简单,最后一题太难,不知道出题人怎么想的。第一题:储蓄计划模拟。第二题:合并果子贪心。每次选最小的两堆合并。第三题:合唱队形两次动规。题目可以转化为找出一个人,使得以他为尾的最长上升子序列的长度最大,并且...
分类:
其他好文 时间:
2014-07-23 22:14:37
阅读次数:
320
归并排序是将两个或两个以上有序子序列归并成一个有序数列的排序的排序算法,其时间复杂度O(n*log n)仅次于快速排序。在内排序中,通常采用的是2-路归并,即每两个子序列为一组进行排序。归并排序的原理是:设初始序列含有N个记录,则可以看成N个有序的子列,每个子序列的长度为1,然后两两归并,得到N/2个长度为2或1的子序列,再两两归并,如此重复的归并下去,直到到达一个有序的序列为止。
设初始数组为...
分类:
其他好文 时间:
2014-07-23 13:22:56
阅读次数:
231
这是最大上升子序列的变形,可并没有LIS那么简单。需要用到二分查找来优化。看了别人的代码,给人一种虽不明但觉厉的赶脚直接复制粘贴了,嘿嘿原文链接:http://blog.csdn.net/ice_crazy/article/details/7536332假设存在一个序列d[1..9] = 2 1 5...
分类:
其他好文 时间:
2014-07-23 12:04:56
阅读次数:
276
HDU 2845 Beans (动规)
这道题意思可以转换成:
对每一行,不能有间隔的取一个子序列,即取该行的最大不连续子序列和;
再从上面所有值中,取其最大不连续子序列和;就相当于隔一行取了...
分类:
其他好文 时间:
2014-07-22 22:38:35
阅读次数:
256
HDU 1159 Common Subsequence (动规)
最长公共子序列的模板题目。...
分类:
其他好文 时间:
2014-07-22 17:58:41
阅读次数:
247