题目链接 中文翻译版题目 ps:两个略有不同,原题数据范围是n<=3e5,且数据保证输入的b是a的祖先。 算法:ccz 大爷自创,大概就是并查集+启发式合并+平衡树维护。 分析: 先dfs预处理出每个点的深度,然后对于每个点都建立一棵平衡树来储存以这个点为起点的路径,按照第一关键字终点的深度从小到大 ...
分类:
其他好文 时间:
2017-09-05 20:55:22
阅读次数:
215
题目链接 Problem Description > Stormtroopers were the assault/policing troops of the Galactic Empire. Dissenting citizens referred to them as bucketheads, ...
分类:
编程语言 时间:
2017-09-01 19:45:15
阅读次数:
189
题意:给你一颗树,每个结点的儿子数不超过2。每个结点有一个权值,一个结点的代价被定义为将其子树中所有结点的权值放入数组排序后,每个权值乘以其下标的和。让你计算所有结点的代价。 二叉树的条件没有用到。 每个结点开一个Splay,从叶子往上启发式合并上去,可以先bfs一遍确定合并顺序。每一次将Splay ...
分类:
其他好文 时间:
2017-08-17 23:34:39
阅读次数:
524
题目 http://acm.hdu.edu.cn/showproblem.php?pid=6109 分析 对于相同的条件,明显直接并查集 对于不同的条件,可以用set来保存,并查集合并的时候也要对set启发式合并 还有另一种很奇妙的做法 如果我们只考虑一段[l..r]是否可行,那么我们可以离线,先挑 ...
分类:
其他好文 时间:
2017-08-14 20:10:10
阅读次数:
120
n<=100000条相等/不等关系描述<=100000个数,把这些数据分割成若干段使得每一段描述都出现冲突且冲突只出现在最后一行。 相等关系具有传递性,并查集维护;不等关系根据相等关系进行合并,采用平衡树的启发式合并。 每次遇到相等关系x,y,先找到x,y对应并查集的根p,q,判是否p在q的不等关系 ...
分类:
其他好文 时间:
2017-08-13 10:12:08
阅读次数:
150
我们直接按父子关系建主席树,然后记录倍增方便以后求LCA,同时用并查集维护根节点,而且还要记录根节点对应的size,用来对其启发式合并,然后每当我们合并的时候我们都要暴力拆小的一部分重复以上部分,总时间复杂度为O(n*log),因为每个的节点只会作为小的部分合并,因此他所在的一小部分至少变大2倍,对 ...
分类:
其他好文 时间:
2017-08-05 10:01:00
阅读次数:
252
线段树合并+离线+启发式合并 半年前这道题t成狗。。。 离线的做法比较好想,按照边的权值排序,询问的权值排序,然后枚举询问不断加边,加到上限后查找第k大值,这里平衡树,权值线段树都可以实现。 那么我们用权值线段树就行了, 并查集维护两点连通性,不连通的话就合并,并查集连接。 #include<bit ...
分类:
其他好文 时间:
2017-08-02 23:36:18
阅读次数:
207
题目描述 N个布丁摆成一行,进行M次操作.每次将某个颜色的布丁全部变成另一种颜色的,然后再询问当前一共有多少段颜色.例如颜色分别为1,2,2,1的四个布丁一共有3段颜色. 输入输出格式 输入格式: 第一行给出N,M表示布丁的个数和好友的操作次数. 第二行N个数A1,A2...An表示第i个布丁的颜色 ...
分类:
其他好文 时间:
2017-07-31 14:40:42
阅读次数:
116
【BZOJ1483】[HNOI2009]梦幻布丁 Description N个布丁摆成一行,进行M次操作.每次将某个颜色的布丁全部变成另一种颜色的,然后再询问当前一共有多少段颜色.例如颜色分别为1,2,2,1的四个布丁一共有3段颜色. N个布丁摆成一行,进行M次操作.每次将某个颜色的布丁全部变成另一 ...
分类:
其他好文 时间:
2017-07-30 14:50:33
阅读次数:
133
【题目链接】 http://www.lydsy.com/JudgeOnline/problem.php?id=2733 【题目大意】 给出n个点,每个点都有自己的重要度,现在有连边操作和查询操作, 查询操作要求找出一个连通块中重要度第k的点的id 【题解】 我们用Treap维护每个连通块,对于连边操 ...
分类:
其他好文 时间:
2017-07-20 19:39:52
阅读次数:
163