码迷,mamicode.com
首页 >  
搜索关键字:序列维护    ( 27个结果
【BZOJ1095】【ZJOI2007】Hide 捉迷藏 线段树维护括号序列 数据结构的压缩。
题解: 首先由于此题太神以至于我其实还不会这道题,所以不妨介绍一下括号序列维护树构。 其实都是假的,就是一个点被扫到入栈的时候,序列加一个左括号,然后加入一个字符(可以不加),点出栈的时候就加一个右括号。 然后两点间距离就是两点的在序列的位置中间那一堆括号里,删掉一些匹配的括号后的答案,比如 )(()()(()( ,最后就变成了 )(()(( ,表示左端点需要向上走一步,右端点需要向上走两步...
分类:其他好文   时间:2015-04-02 11:43:16    阅读次数:222
BZOJ 2962 序列操作 线段树
题目大意:给定一个序列,给定一个长度为n的序列,维护三种操作: 区间加 区间变为相反数 求某个区间内任取c个不同的数乘积的所有方案之和对P的模 比如说a b c三个数中取两个 就是ab+ac+bc 这题显然是用线段树来维护下- - 我们用一个0~20的数组a来记录某个区间的信息,其中a[i]表示区间内取i个数的乘积之和 区间合并就是a[i]=Σb[j]*c[i-j] 这个很好理解...
分类:其他好文   时间:2015-02-28 18:42:53    阅读次数:168
hdu4521(线段树+dp)
传送门:小明系列问题——小明序列题意:有n个数,求间距大于d的最长上升序列。分析:dp[i]表示在i点以a[i]结束距离大于d的最长上升序列,然后每更新到第i点时,取i-d之前小于a[i]的数为结束的最长上升序列进行状态转移,并维护前i-d之前的最大上升序列,维护i-d之前的每点为结束的最长上升序列...
分类:其他好文   时间:2015-02-15 01:00:55    阅读次数:306
UVA 11922 Splay区间翻转+分裂+合并
- Permutation Transformer Time Limit:2000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit Status Practice UVA 11922 Appoint description:  System Crawler  (2014-11-30) De...
分类:其他好文   时间:2014-12-02 00:07:52    阅读次数:178
HDU3487(splay区间翻转+区间切割)
F - Play with Chain Time Limit:2000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Description YaoYao is fond of playing his chains. He has a chain containi...
分类:其他好文   时间:2014-11-24 06:31:35    阅读次数:175
Codeforces 474E - Pillars
一眼看上去非常像最长不下降子序列。然后比赛的时候对每个答案长度为k的序列,维护最后一个数的最大值和最小值。当时不知道为什么认为从长度最长倒推至前面不会太长,于是心满意足地敲了个O(n^2)。结果T了。。。正确的做法应该用线段树维护,搜起来就是log(n),总的就是O(N*logN);用非递归的方.....
分类:其他好文   时间:2014-10-07 18:39:43    阅读次数:335
cf 420D. Cup Trick (Splay树)
Splay  树的比较基本的序列维护操作, 用getSeg( int l, int r) 获取要操作的区间 若:获取区间[l,r],非空,getSeg(l,r),然后KT指向区间[l,r] 若:获取区间为空,如当要在l位置插入一个值时,则getSeg(l,l-2),然后可在KT赋值新节点 D. Cup Trick #include #include #include #include...
分类:其他好文   时间:2014-04-30 22:14:40    阅读次数:326
27条   上一页 1 2 3
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!