随笔分类 -  ----平衡树

摘要:最近学校里很多题目都没时间做,顺便来写一下博客 斜率DP十连: A[征途] 注意到,原题的式子,等价于m∑ai2−(∑ai)2" role="presentation">m∑a2i−(∑ai)2m∑ai2−(∑ai)2后... 阅读全文
posted @ 2018-08-13 00:00 扩展的灰(Extended_Ash) 阅读(231) 评论(0) 推荐(0)
摘要:题目看这里一道比较简单的贪心题容易想到从前到后确定每一位我们可以用一个splay来维护当前未确定的部分的顺序假设当前剩下k次操作机会那么我们可以求出splay中前k+1个元素中的最大元素i,令k减少rank(i),让后将其输出并从splay中删掉最后k=0时,输出sp... 阅读全文
posted @ 2018-04-27 22:04 扩展的灰(Extended_Ash) 阅读(143) 评论(0) 推荐(0)
摘要:题目点这里漏写博客好多天了,赶快来补这道题是一个裸的模拟题,注意到纸片总长度不会增加,所以用一个带翻转的splay来维护一下每次将前半段翻转和后一段做加法合并就好了,均摊logn#pragma GCC opitmize("O3")#pragma G++ opitmiz... 阅读全文
posted @ 2018-03-22 21:34 扩展的灰(Extended_Ash) 阅读(184) 评论(0) 推荐(0)
摘要:题目看这里这么好玩的数据结构题肯定是要来做一做啦考虑splay-显然用一个节点去维护一个连续的内存块,每次申请内存就找一块尽可能前的,释放就找一个有相交的并合并,没有则新建节点splay一打还是错落百出,不过效率还是可以的,跑了第一和map一样快#include#in... 阅读全文
posted @ 2018-02-19 10:18 扩展的灰(Extended_Ash) 阅读(166) 评论(0) 推荐(0)
摘要:一开始看错题目了,很容易看成i喜欢的中,让后写主席树区间第k大反过来其实也很好做,我们考虑将所有的L,R,P丢到一起考虑,分两种操作,询问和修改(是不是很像cdq分治)排个序再加上个平衡树离散化+ZKW线段树求第k大就好了(注意题目坑点:是第k大不是第k小)#prag... 阅读全文
posted @ 2018-01-20 17:07 扩展的灰(Extended_Ash) 阅读(70) 评论(0) 推荐(0)
摘要:你有一个字符串S,最开始为空,要求支持两种操作在S后面加入字符c删除S最后一个字符每次操作询问S有多少个两两不同子串应该本来应该用SAM+Trie离线做的,然而为了练一下后缀平衡树就写了其实也很好写,用哈希比较一下就好了,可以用set实现,开一个数组存每个后缀对应的节... 阅读全文
posted @ 2017-12-10 13:16 扩展的灰(Extended_Ash) 阅读(203) 评论(0) 推荐(0)
摘要:题目传送门和上一篇题目几乎一样,不过还是这道题良心!bzoj好!poj慢到出*splay大法好! 两次AC不卡常!#pragma GCC opitmize("O3")#pragma G++ opitmize("O3")#include#include#include#... 阅读全文
posted @ 2017-12-01 20:38 扩展的灰(Extended_Ash) 阅读(98) 评论(0) 推荐(0)
摘要:题目传送门经典的数据结构维护字符串哈希这里用了很慢很慢的splay各种T(也可能是死循环)不过没办法因为会写splay的能力还是要有的#pragma GCC opitmize("O3")#pragma G++ opitmize("O3")#include#includ... 阅读全文
posted @ 2017-12-01 19:06 扩展的灰(Extended_Ash) 阅读(135) 评论(0) 推荐(0)
摘要:最近,阿Q开了一间宠物收养所。收养所提供两种服务:收养被主人遗弃的宠物和让新的主人领养这些宠物。每个领养者都希望领养到自己满意的宠物,阿Q根据领养者的要求通过他自己发明的一个特殊的公式,得出该领养者希望领养的宠物的特点值a(a是一个正整数,a#include#incl... 阅读全文
posted @ 2017-11-30 21:49 扩展的灰(Extended_Ash) 阅读(131) 评论(0) 推荐(0)
摘要:更新中//Templates From Extended_Ash/Cooevjnz/JacaJava/Tubbcrafft//To be continued...//Suffix Automationchar str[N]; int s[N][26],mx[N],f... 阅读全文
posted @ 2017-10-25 22:06 扩展的灰(Extended_Ash) 阅读(149) 评论(0) 推荐(0)
摘要:更新中//Templates From Extended_Ash/Cooevjnz/JacaJava/Tubbcrafft//To be continued...//Suffix Automationchar str[N]; int s[N][26],mx[N],f... 阅读全文
posted @ 2017-10-25 22:06 扩展的灰(Extended_Ash) 阅读(211) 评论(0) 推荐(0)
摘要:您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:1.查询k在区间内的排名2.查询区间内排名为k的值3.修改某一位值上的数值4.查询k在区间内的前驱(前驱定义为小于x,且最大的数)5.查询k在区间内的后继(后继定义为大于x,且最小的数)... 阅读全文
posted @ 2017-10-15 16:02 扩展的灰(Extended_Ash) 阅读(114) 评论(0) 推荐(0)
摘要:您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:1.查询k在区间内的排名2.查询区间内排名为k的值3.修改某一位值上的数值4.查询k在区间内的前驱(前驱定义为小于x,且最大的数)5.查询k在区间内的后继(后继定义为大于x,且最小的数)... 阅读全文
posted @ 2017-10-15 16:02 扩展的灰(Extended_Ash) 阅读(93) 评论(0) 推荐(0)
摘要:首先,orzYxuanwKeith,这套题后面两个把我虐爆了我们发现,B序列每一个元素都肯定出现在A中,那么考虑最大的元素B1,显然就是A中元素最大的那个删除后让后我们继续求B2,显然也是最大的那个,让后删除B2,gcd(B1,B2)后,我们就可以得到B3....以此... 阅读全文
posted @ 2017-10-12 16:06 扩展的灰(Extended_Ash) 阅读(134) 评论(0) 推荐(0)
摘要:首先,orzYxuanwKeith,这套题后面两个把我虐爆了我们发现,B序列每一个元素都肯定出现在A中,那么考虑最大的元素B1,显然就是A中元素最大的那个删除后让后我们继续求B2,显然也是最大的那个,让后删除B2,gcd(B1,B2)后,我们就可以得到B3....以此... 阅读全文
posted @ 2017-10-12 16:06 扩展的灰(Extended_Ash) 阅读(85) 评论(0) 推荐(0)
摘要:题意:给你一个bst插入的顺序问你完成这些操作需要多少次比较(即这颗bst所有节点深度之和)显然,我们在bst中插入一个节点x,它一定是它前继或者后续的儿子这样的话,我们记录每个点的深度,每次找前继和后续即可本来应该用链表的,我还是为了卡时用了ZKW线段树#pragm... 阅读全文
posted @ 2017-10-03 20:22 扩展的灰(Extended_Ash) 阅读(78) 评论(0) 推荐(0)
摘要:题意:给你一个bst插入的顺序问你完成这些操作需要多少次比较(即这颗bst所有节点深度之和)显然,我们在bst中插入一个节点x,它一定是它前继或者后续的儿子这样的话,我们记录每个点的深度,每次找前继和后续即可本来应该用链表的,我还是为了卡时用了ZKW线段树#pragm... 阅读全文
posted @ 2017-10-03 20:22 扩展的灰(Extended_Ash) 阅读(157) 评论(0) 推荐(0)