BZOJ3682 : Phorni】的更多相关文章

后缀平衡树+线段树. $O(1)$比较大小的标号法真是强大. #include<cstdio> #include<cmath> #define N 300010 #define M 500010 using namespace std; typedef unsigned long long ll; const ll inf=1ULL<<63; const double A=0.8; ll tl[N],tr[N],tm[N]; int size[N],son[N][2],…
后缀平衡树的裸题 后缀平衡树简单的思想如下 具体的可以去看$clj$的论文 假设我们已经有了串$S$的后缀平衡树 插入一个字母$c$ 我们用$Si$代表原串$S$从第$i$个字符开始的后缀 则后缀$cS$与任意一个后缀$Si$的大小关系可以用 $c$与$Si$的第一个字母的大小关系 以及 后缀$S1$与后缀$Si+1$的大小关系来表示 前面是两个字符的比较$O(1)$ 后面两个原串后缀的大小关系由后缀平衡树所代表其的节点标号快速得出两个后缀大小 $O(1)$ 于是我们只要维护一个平衡树来$O(1…
(这篇我就不信有网站来扣) 这个暑假打算刷刷题啥的 但是写博客好累啊  堆一起算了 隔一段更新一下.  7月27号之前刷的的就不写了 , 写的累 代码不贴了,可以找我要啊.. 2017.8.27update : 开学了终于搞到了550  可还行 *数据结构 *可持久化线段树/主席树 *bzoj3932 [CQOI2015] 任务查询系统 : 比较裸的主席树,任务查分一下就好了  cqoi真良心 *bzoj4026 dC Loves Number Theory :  数论个头啊,对每个数分解质因数…
模板 后缀数组 #include<bits/stdc++.h> #define R register int using namespace std; const int N=1e6+9; int sa[N],rk[N],hei[N],x[N],y[N],c[N]; char s[N]; void Rsort(R n,R m){ for(R i=1;i<=n;++i)++c[x[i]]; for(R i=2;i<=m;++i)c[i]+=c[i-1]; for(R i=n;i;--…
后缀平衡树裸题. 后缀平衡树呢,实际上是一个很naive的东西.就是用平衡树维护后缀数组. 这样的话就可以支持在最前端插入一个字符(相当于插入新的后缀) 每次比较节点的tag是O(1)的,所以可以快速的支持插入和查询. 为了保证重构的复杂度,后缀平衡树必须使用重量平衡树. 如替罪羊树,Treap,Weight-Balanced-Finger-Tree等. #include<bits/stdc++.h> #define N 1000005 #define lson (o<<1) #d…
题目链接 题目描述 Phorni 是一个音之妖精,喜欢在你的打字机上跳舞. 一天,阳光映射到刚刚淋浴过小雨的城市上时,Phorni 用魔法分裂出了许多个幻影,从 1 到 n 编号. 她的每一个幻影都站在打出的字符串的一个位置上,多个幻影可以站在同一个位置上. 每一个幻影代表的字符串即为从它站立位置开始的后缀,注意站立位置是从右往左数的. 让我们形式化地描述一下,若第 i 个幻影站在 Pi 上,那么它所代表的字符串就是 S[L-Pi+1-L],其中 L 是字符串 S 的长度. 每一次,她会选一段编…
后缀平衡树的模板题? I'm so weak…… 现在觉得替罪羊树比 treap 好写,是不是没救了喵- #include <cstdio> #include <cmath> typedef unsigned long long LL; const double a=0.55; ; ; ; inline int getint(); inline char getch(); inline int getstr(char * ); inline void putint(int); in…
国际惯例的题面: 考虑如果没有强制在线我们能怎么水掉这个题,先构造出字符串,各种方法求一下后缀数组,然后线段树维护区间rank最小的位置即可.然而他要求强制在线,支持插入后缀,并比较后缀大小(求rank)的数据结构,当然就是后缀平衡树啦.于是插入字符串的操作,我们只需要在后缀平衡树上插入这个后缀.此时不需要对线段树进行修改,因为线段树中任何一个位置均不包含新插入的这个后缀(保证信息合法).什么你说插入会改变每个后缀的rank值?没关系我们不需要知道每个后缀的rank具体是多少,我们只需要它们的相…
A.Phorni 题目:http://www.contesthunter.org/contest/CH%20Round%20%2351%20-%20Shinrein祭%20%231/Phorni 没做... B.Arietta 题目:http://www.contesthunter.org/contest/CH%20Round%20%2351%20-%20Shinrein祭%20%231/Arietta 想到了网络流,所以每次暴力算出哪些点能被弹奏,就从这次弹奏向哪些点连容量为1的边 最后由s向…
https://vijos.org/tests/542c04dc17f3ca2064fe7718 好一场 水题 比赛啊 t1直接上暴力费用流10分QAQ,虽然一开始我觉得可以不用的,直接dfs可以得出最大流,但是写撮了就放弃了. t2直接上暴力又是10分QAQ,虽然本来我就不会.. t3直接上暴力还写撮了........sad story orz 小岛 orz zyf t1:P1885  Phorni(Disillusioning) 听zyf讲完后无限仰慕....最大流的确可以dfs出来orzQ…