题解:
首先由于此题太神以至于我其实还不会这道题,所以不妨介绍一下括号序列维护树构。
其实都是假的,就是一个点被扫到入栈的时候,序列加一个左括号,然后加入一个字符(可以不加),点出栈的时候就加一个右括号。
然后两点间距离就是两点的在序列的位置中间那一堆括号里,删掉一些匹配的括号后的答案,比如 )(()()(()( ,最后就变成了 )(()(( ,表示左端点需要向上走一步,右端点需要向上走两步...
分类:
其他好文 时间:
2015-04-02 11:43:16
阅读次数:
222
题目大意:给定一个序列,给定一个长度为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
传送门:小明系列问题——小明序列题意:有n个数,求间距大于d的最长上升序列。分析:dp[i]表示在i点以a[i]结束距离大于d的最长上升序列,然后每更新到第i点时,取i-d之前小于a[i]的数为结束的最长上升序列进行状态转移,并维护前i-d之前的最大上升序列,维护i-d之前的每点为结束的最长上升序列...
分类:
其他好文 时间:
2015-02-15 01:00:55
阅读次数:
306
- 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
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
一眼看上去非常像最长不下降子序列。然后比赛的时候对每个答案长度为k的序列,维护最后一个数的最大值和最小值。当时不知道为什么认为从长度最长倒推至前面不会太长,于是心满意足地敲了个O(n^2)。结果T了。。。正确的做法应该用线段树维护,搜起来就是log(n),总的就是O(N*logN);用非递归的方.....
分类:
其他好文 时间:
2014-10-07 18:39:43
阅读次数:
335
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