![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
主席树
Rainbow6174
这个作者很懒,什么都没留下…
展开
-
BZOJ 3207 花神的嘲讽计划Ⅰ 题解&代码
题意: 给出n个数,形成一个长度为n的序列(可以看做[1,n]的区间) 有m组询问,对于每组询问给出一个x和一个y,然后给出一个长度为k的序列s。如果在区间[x,y]上,存在至少一个序列和序列s完全匹配,那么输出No,否则输出Yes。 **注意,匹配成功了输出No,失败时才会输出Yes思路:嘛…就是把每k个数字hash一下存进可持久化线段树的对应位置,这样得到了n-k+1个线段树的根节点,分别原创 2015-12-14 18:22:40 · 780 阅读 · 1 评论 -
HDU 2665 Kth number 题解&代码
嘛…作为一道主席树模板题我TLE RE MLE占全然后卡到998ms过也是蛮拼的【事后删了一个无用的memset然后904ms卡过去了…好歹不那么危险了 其实这题是划分树= =毕竟静态查询…主席树肯定慢,加上姿势问题…想不T也挺艰辛的 和BZOJ 3207并没有什么卵区别,甚至少了hash过程= = 建n个线段树,查询第s-1到第t个树的size大小,和k比较即可#include<iostre原创 2015-12-21 21:28:27 · 671 阅读 · 0 评论 -
BZOJ3524 POI2014 Couriers 题解&代码
题意:给出一个长度为n的序列a满足1≤a[i]≤n。 又有m组询问,每次对于一个区间[l,r]问是否存在一个数在[l,r]中出现的次数大于(r-l+1)/2。如果存在,输出这个数,否则输出0。 思路:嘛,很纯粹的主席树…只不过空间限定太严格了点,竟然卡空间,我卡了好几次才AC… 不过我现在特别纠结为啥我BZOJ2223过不了#include<iostream>#include<cstd原创 2016-04-06 13:33:54 · 1067 阅读 · 0 评论 -
BZOJ2223 [Coci 2009]PATULJCI 题解&代码
题意:给出一个长度为n的序列a满足1≤a[i]≤n。 又有m组询问,每次对于一个区间[l,r]问是否存在一个数在[l,r]中出现的次数大于(r-l+1)/2。如果存在,输出yes,否则输出no。 题解:标准主席树…主席树还是这么简单粗暴QwQ但是我MLE了好多次,这空间卡得我怀疑人生…不过最后的错误反而不在空间233333 我把n和m弄错了WA了好几次,总之是简单错误啦 和BZOJ3524是原创 2016-06-01 21:52:45 · 3417 阅读 · 0 评论 -
POJ2104 K-th Number 题解&代码
你说什么?和HDU题目一样?不不不这才不是多组数据= = 其实重点在于我终于知道为什么我一直TLE了…map被卡了那个萌萌哒logn 所谓STL一时爽全家火葬场,改了数组记录之后过得轻轻松松 代码如下【一会去把hdu的排序也改一下重交试试#include<iostream>#include<algorithm>#include<map>#include<string.h>#includ原创 2015-12-21 21:43:49 · 1971 阅读 · 2 评论