主席树
文章平均质量分 50
WorldWide_D
这个作者很懒,什么都没留下…
展开
-
【COCI2013】slasticar
题目大意给出一个长度为n的字符串A,接下来给出m个字符串,对于每个字符串B,用给出的方法去与A匹配: 1. 设B的长度为L,先与A的位置为1…L的一段进行匹配:先比较A[1]和B[1],接下来比较A[2]和B[2],直到比较完A[L]和B[L]全部匹配或出现一个不相同(即A[i]≠B[i]) 2. 如果匹配失败,则匹配A的2..L+1和B的1..L,如果得不到长度为L的串(如:A的长度为12,L原创 2016-02-11 18:46:17 · 858 阅读 · 0 评论 -
【GDOI 2016 Day2】第三题 机密网络
DescriptionInputOutputSample InputSample OutputData Constraint分析第2问其实没有什么特殊的地方,所以这里只讲第1问的做法,然后第2问的思路也是一样的。对于这种环套树的问题,可以考虑先删去环上的一条边,这样它就变成了一棵树,然后统计树上的答案,最后加上必须通过删去的边的答案。树上的做法这类问题很容易联想到点剖。 对于当前一个根为x的子树,原创 2016-05-23 19:52:08 · 518 阅读 · 0 评论 -
[Tjoi2016&Heoi2016]字符串
Description佳媛姐姐过生日的时候,她的小伙伴从某东上买了一个生日礼物。生日礼物放在一个神奇的箱子中。箱子外边写了一个长为n的字符串s,和m个问题。佳媛姐姐必须正确回答这m个问题,才能打开箱子拿到礼物,升职加薪,出任CEO,嫁给高富帅,走上人生巅峰。每个问题均有a,b,c,d四个参数,问你子串s[a..b]的所有子串和s[c..d]的最长公共前缀的长度的最大值是多少?佳媛姐姐并不擅长做这样的原创 2016-07-12 16:24:01 · 876 阅读 · 0 评论 -
[Scoi2016]美味
题目大意给你n个数及m个询问,每个询问给出四个整数b,x,l,r,你要在[l,r]区间内找出一个i,使b xor (a[i]+x)最大,输出这个最大值。数据范围n≤200000 其它数字均为不超过100000的非负整数分析当没有这个x时,这就是一个裸的可持久化trie的问题。 但是现在加了一个x。 那么考虑查找这个ai+x。按二进制位从上往下查找。假设当前查到了二进制的第i位,那么这一位尽原创 2016-07-16 18:10:46 · 538 阅读 · 0 评论 -
[Codeforces232D]Fence
题目大意给你一个长度为n的序列h和q个询问,每次询问一个区间[l,r],求有多少个区间[x,y]满足以下条件: 1. [l,r]与[x,y]交集为空 2. r-l+1等于y-x+1 3. 对于任意一个i(0≤i≤r-l),h[l+i]+h[x+i]==h[x]+h[l]n,q≤100000分析直接求两个对应数的和相同必然不好做,但是考虑到对于i(1≤i≤r-l),h[l+i-1]+h[x+i-原创 2016-07-08 08:02:00 · 649 阅读 · 0 评论 -
[bzoj3956] Count
题目大意给定一个n个元素的序列,m个询问,给出l,r,问有多少个点对(i,j)满足: 1. l≤i < j≤r 2. i=j-1或i,j之间的元素都严格小于min(ai,aj)强制在线 n≤300000 分析第2个条件很容易让人想到单调栈预处理。 按下标从小到大扫一遍序列,维护一个单调递减的栈,退栈时就可以得到一个合法的点对了。退完栈后,栈顶若还有元素,仍然能产生一个点对。 但是要注意严格原创 2017-01-31 15:41:02 · 386 阅读 · 0 评论