码迷,mamicode.com
首页 >  
搜索关键字:子序列    ( 5133个结果
SPOJ GSS6 4487. Can you answer these queries VI (SPLAY)
题目大意: 四个操作: I X Y 在x位置插入y D x 删除x位置的数 R x y 用y替换x位置上的数字 Q x y 求出[x,y]上的最大子序列的和。 思路分析: 对于动态维护序列肯定是splay了。 现在就考虑以下几个问题。 之前我们知道线段树处理连续的子序列的和是用区间合并的。那splay上怎么做。 考虑边界,如儿子为 0 或者是冗余节点怎么办? 初始化的...
分类:其他好文   时间:2014-07-27 11:09:32    阅读次数:257
UVA10599 - Robots(II)(变形的LIS)
题意:一个机器人在n * m的网格里面捡垃圾,机器人只能向右或向下走,求出能捡到的垃圾数量的最大值,有多少条路径可以达到最大值,以及输出其中一条路径。 思路:按照题意可以看出,因为机器人只能向右和向下走,所以纵坐标就不重要的,而横坐标是递增的。当将所有拥有垃圾的格子经过计算得到它的一维值(唯一的),得到一组的数组。那就可以转化为求最长上升子序列。但这个LIS的条件是mod(m)要大于前一...
分类:其他好文   时间:2014-07-26 17:22:22    阅读次数:282
和最接近0的子序列
给定整数m,n和数组x[n],找出某个I,使得x[i]+x[i+1]+x[i+2]+x[i+3]+x[i+4]…x[i+m]最接近于零。 (0 一.暴力解法     遍历各个i值,计算子序列的和,然后求出最接近0的 int find(int a[],int n,int m) //寻找m+1个数字,使得他们的和最小 { int i=0; int thissum=0; int j...
分类:其他好文   时间:2014-07-26 15:06:30    阅读次数:233
poj 3080 Blue Jeans
题意:输入N个DNA序列,每个DNA序列长度都为60。找到这些串的最长共有子序列。 注:若找不到,或最长子序列长度小于2,则输出no significant commonalities,否则输出最长公共子串,若长度相同输出字典序最小的 思路:暴力枚举第一个DNA序列的每一个子序列,用strstr()函数与其余的序列进行匹配...
分类:其他好文   时间:2014-07-26 02:50:36    阅读次数:162
最长递增子序列
问题给定一个长度为N的数组,找出一个最长的单调自增子序列(不一定连续,但是顺序不能乱)。例如:给定一个长度为6的数组A{5, 6, 7, 1, 2, 8},则其最长的单调递增子序列为{5,6,7,8},长度为4.解法1:最长公共子序列法这个问题可以转换为最长公共子序列问题。如例子中的数组A{5,6,...
分类:其他好文   时间:2014-07-26 00:20:26    阅读次数:262
最长上升子序列
Problem Description A numeric sequence of ai is ordered if a1 < a2 < ... < aN. Let the subsequence of the given numeric sequence (a1, a2, ..., aN) be any sequence (ai1, ai2, ..., aiK), where 1 <= i1 ...
分类:其他好文   时间:2014-07-25 11:04:41    阅读次数:253
hdu 4604 Deque
最长上升子序列+最长递减子序列-重复的方法不严谨,貌似有人已经找到反例了,至于为什么那种方法能ac应该是测试数据弱吧 以下才是最标准的做法 //#pragma comment(linker, "/STACK:102400000,102400000") #include #include #include #include #include #include #include #include ...
分类:其他好文   时间:2014-07-24 23:11:53    阅读次数:262
ZOJ 1093
排序DP(相当于最长不下降子序列)如果把一块砖块的所有6种摆放方式转化为6种不同的砖块;即相当于有6n种砖块,然后按照一个方向从大到小排序;再依次检查每一块与其下面的所有砖块是否满足摆放条件;将每一块砖块放到塔中能够获得的最大高度记录到数组height[N]中;则该数组中的最大值就是该题的解了; #...
分类:其他好文   时间:2014-07-24 21:55:12    阅读次数:181
HDU 1231 最大连续子序列
和前面两道题一样不过这题要求输出子序列首尾的元素的值,而且如果所有元素都小于0的话,规定子序列的和为0,并输出整个序列的首尾元素。 1 //#define LOCAL 2 #include 3 #include 4 #include 5 using namespace std; 6 7 co...
分类:其他好文   时间:2014-07-24 17:18:19    阅读次数:203
HDU 1003 Max Sum
同上题一样,求连续子序列的最大和而且比上题还要简单一些,用不到long long了直接水过 1 //#define LOCAL 2 #include 3 #include 4 #include 5 using namespace std; 6 7 const int maxn = 10000...
分类:其他好文   时间:2014-07-24 14:47:45    阅读次数:271
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!