随笔分类 - 数据结构
摘要:链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3166 题意:给出一个序列,找出一个区间使得这个区间内次大值与这个区间内任意一个数的异或和最大值最大。 首先我们看这个次大值……可能想不出来?想不出来大概是正常的……但是如果我们换一个角度重新放回
阅读全文
摘要:链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3162 题意:给出一棵无根树,求出本质不同独立集数目。 这道题真是一道好题……无限$orz$ $VFleaKing$……对着题解看了半天才看明白明明是你太蒻了…… 好了不废话直接切入正题。首先我们
阅读全文
摘要:链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3165 题意:动态增加线段,求出横坐标纵坐标最高的被覆盖点所在线段。 这个题要用到李超线段树(orz李超)……大概这是李超那篇论文出现后第二年的题?不管了直接介绍这一数据结构。李超线段树的目的就是
阅读全文
摘要:链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1014 题意:动态修改字符串,动态查询某两个后缀之间的$LCP$长度。 这题肯定一堆人刚开始:$woc$这题好水啊,后缀数据结构放肆撸啊…… 等看到后半段:$woc$这个修改怎么改啊…… 实际上这
阅读全文
摘要:链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2733 题意:动态连边,求出某个联通块中权值第$k$小的点。 首先,看到名次果断想平衡树……查询这个问题很好解决,但是合并……恐怕只能暴力修改了吧…… 这时候我们需要一个武器:启发式合并,通俗的讲
阅读全文
摘要:链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2752 题意:正常修改区间,然而取和需要求区间内随意找到两点这两点距离期望…… 我们可以发现最后一个点没卵用……于是我们扔掉它,然后后面所有叙述基于$r--$之后进行…… 首先,$E=totlen
阅读全文
摘要:只是一个目的:$zkw Get!$ 1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm> 4 #include<cstring> 5 using namespace std; 6 const int maxn=(131072<<1
阅读全文
摘要:链接:http://cogs.pro/cogs/problem/problem.php?pid=775 题意:维护区间最大值及其最小字典序来源。 细节巨多……多的狗死人了…… 首先我们要建出一棵线段树,这棵线段树要存放以下几个东西:最长区间,起点,终点,最长前缀,前缀终点,最长后缀,后缀起点。(所以
阅读全文
摘要:链接:http://cogs.pro/cogs/problem/problem.php?pid=347 题意:不断维护一个区间,要求支持的操作有:删除区间、插入区间、区间加减、查询区间最大值。 看到这个题我们直接想到splay。还是熟悉的老方法,事先建两个节点,每一次操作,不管属于任何一种操作,先将
阅读全文
摘要:链接:http://cogs.pro/cogs/problem/problem.php?pid=17 题意:写数据结构,支持操作:数颜色段数、修改颜色、转圈、翻转。 操作倒是没什么难的,但本题有两大坑点:从头查到尾不同于查一圈;它只沿一个方向前进,因此可能$x>y$。 1 #include<iost
阅读全文
摘要:链接:http://cogs.pro/cogs/problem/problem.php?pid=1545 题意:一个机器每次只会将一个区间反转使右端点的物品正确到达左端点,求出每次转移的右端点。 维护一个splay,每次操作,把哨兵转到根,右端点后一个到达右儿子,该节点到达这个右儿子的左儿子,标记完
阅读全文
摘要:不用解释了吧……经典板子…… 题解也没什么写的……就是一句话:一遍写对省了再debug麻烦。 1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm> 4 #include<cstring> 5 #include<cstdlib> 6
阅读全文
摘要:链接:http://cogs.pro/cogs/problem/problem.php?pid=339 题意……我还用说么……OI有史以来最毒瘤数据结构题…… 只能说精神低落的时候来上一发,真是神清气爽,完全忘了自己的抑郁症……说实在的,做这道题之前我抑郁症又犯了,但做完这道题,抑郁症是什么? 这个
阅读全文
摘要:链接:http://cogs.pro/cogs/problem/problem.php?pid=2089 题意:动态修改n个点之间关系,动态查询点到根路径权值异或和。 n<=300000,显然LCT(不会)和树剖会超时。要找到O(n)算法。 想到银河英雄传说一题对路径的处理,维护带权并查集,动态将各
阅读全文
摘要:题面不用贴了,做过的都知道…… 数组Treap 1 #include<iostream> 2 #include<cstdio> 3 #include<cstdlib> 4 using namespace std; 5 struct node{ 6 int l,r,v,size,rnd,w; 7 }t
阅读全文