码迷,mamicode.com
首页 >  
搜索关键字:nyoj 336 子序列    ( 6902个结果
POJ 1631(最长上升子序列 nlogn).
~~~~ 由题意可知,因为左边是按1~n的顺序递增排列,要想得到不相交组合,左边后面的一定与相应右边后面的相连,如此一来, 就可以发现其实是一道最长上升子序列的题目,要注意的是N 题目链接:http://poj.org/problem?id=1631 ~~~~ nlogn的算法在这里补充一下。 最长不下降子序列的O(nlogn)算法分析如下:  设 A[t]表示序...
分类:其他好文   时间:2014-08-03 23:26:56    阅读次数:364
POJ 1887 Testing the CATCHER.
~~~~ 求最长不上升子序列,把数组倒过来不就是求最长上升子序列了么,QAQ.. 用的是nlogn算法,不清楚的请戳:http://blog.csdn.net/darwin_/article/details/38360997 题目链接:http://poj.org/problem?id=1887 ~~~~ #include #include #include #include #defi...
分类:其他好文   时间:2014-08-03 23:25:26    阅读次数:309
hdu1087最长递增子序列
简单dp题,LIS。不同之处是这里要求得的不是最长的子序列,而是权重和最长的子序列。其实大同小异。 状态数组就是到达每个位置的最大权重。 LIS问题常用解法就是两个: 人人为我 我为人人...
分类:其他好文   时间:2014-08-03 23:16:16    阅读次数:277
半个暑假的刷题有感
这半个多月一来,主要是在刷DP。开始是一些简单的DP(可是我没有感觉有多简单=_=!!),然后是最大连续子序列,最大公共子序列,最大子矩阵等等,这些题目还好,有的题目甚至可以模板化。还有一些没有解决的难题:1024 Max Sum Plus Plus 最大m段不重叠子段和](可不连续)1244 Ma...
分类:其他好文   时间:2014-08-03 23:13:46    阅读次数:262
最大子序列问题
最大子数组问题定义 给定整数A1, A2, …, An(其中可能是负数),求k的最大值和序列的起始位置(为了方便起见,如果所有整数均为负数,则最大子序列和为0),使用四种算法(根据运行时间区分)解决这个问题。运行时间为θ(n3) 使用了三个for循环,在最坏情况下,运行时间为θ(n3)C语言实现代码...
分类:其他好文   时间:2014-08-03 17:59:35    阅读次数:263
codeforces340D - Bubble Sort Graph dp + 最长上升子序列
题意:给你长为n的序列 ,每个节点都和在它前面且值比他大的点产生一条边,问你一个最大 两两点没有边的集合的 集合元素有多少解题思路:想了半天才发现是最长上升子序列。。解题代码: 1 // File Name: 340d.cpp 2 // Author: darkdream 3 // Created ...
分类:其他好文   时间:2014-08-03 17:45:05    阅读次数:204
HDU 1231 最大连续子序列
最大连续子序列,输出最大值和首尾元素...
分类:其他好文   时间:2014-08-03 12:51:55    阅读次数:204
POJ 1159 Palindrome 题解
本题的题意理解之后,就是求最长回文子序列 longest palindrome subsequence,这里注意子序列和子串的区别。 有两种求法,一种是直接求,相当于填矩阵右上对角阵,另一种是转化为longest common subsequence的求法。 最大难点就是要求内存不能使用二维的。 故此第一种方法是有点难度的,因为需要把二维矩阵的对角线转化为一维表记录,对好下标就好了。 第二中...
分类:其他好文   时间:2014-08-02 23:32:34    阅读次数:326
HDU 1087 && POJ 2533(DP,最长上升子序列).
~~~~ 两道题的意思差不多,HDU上是求最长上升子序列的和,而POJ上就的是其长度。 貌似还有用二分写的nlogn的算法,不过这俩题n^2就可以过嘛。。 ~~~~ 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1087 http://poj.org/problem?id=2533 ~~~~ HDU1087: #include...
分类:其他好文   时间:2014-08-02 23:30:15    阅读次数:243
LA 2678 Subsequence
有一个正整数序列,求最短的子序列使得其和大于等于S,并输出最短的长度。用数组b[i]存放序列的前i项和,所以b[i]是递增的。遍历终点j,然后在区间[0, j)里二分查找满足b[j]-b[i]≥S的最大的i,时间复杂度为O(nlongn)。这里二分查找用到库函数lower_bound() 1 //#...
分类:其他好文   时间:2014-08-02 23:20:54    阅读次数:269
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!