
树
文章平均质量分 51
priority_ez
这个作者很懒,什么都没留下…
展开
-
树链剖分
题bzoj3924YES bzoj4034YES bzoj1576YES bzoj3626YES神转化 bzoj2325 bzoj3694YES bzoj1146二分+树链剖分+线段树套平衡树 bzoj3531YES bzoj1984YES bzoj2243YES bzoj1036YES poj3237YES//bzoj3531#include<cstdio>#includ原创 2017-03-02 18:27:38 · 484 阅读 · 0 评论 -
左偏树
圈内为权值,蓝色数为距离。 bzoj1367题意:给定一个序列t1,t2,...,tnt_1,t_2,...,t_n,求一个递增序列z1<z2<...<znz_1<z_2<...<z_n, 使得R=|t1−z1|+|t2−z2|+...+|tn−zn|R=|t_1−z_1|+|t_2−z_2|+...+|t_n−z_n|的值最小。本题中,我们只需要求出这个最小的R值。 题解: 若序列t原创 2017-01-22 21:18:51 · 591 阅读 · 0 评论 -
xsy1025 link-cut-tree+线段树
题意:分析: 代码:#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int N=200100;typedef long long ll;int fa[N],c[N][2],rev[N],q[N];int dep[N],a[N][21],h[N],w[N],lst[N],tmp[N原创 2017-05-27 19:13:52 · 674 阅读 · 0 评论 -
树分治
bzoj原创 2017-03-28 08:35:11 · 431 阅读 · 0 评论 -
线段树总结
线段树是一个重要的东东,还是要好好整理的。刷了题便整理了一下(留坑待填)一、单点更新二、成段更新三、区间合并四、扫描线原创 2016-10-22 21:09:12 · 952 阅读 · 0 评论 -
bzoj2159
【题意】 给出一棵nn个点的树,求对于每个点ii的d(i)d(i)值。d(i)=∑i≠x1≤x≤ndist(x,i)kd(i) = \sum_{1\leq x \leq n}^{i \not= x}dist(x, i)^{k}数据范围:1≤n≤50000,1≤k≤1501 \leq n \leq 50000, 1\leq k \leq 150【题解】这题非常的神……首先我们发现,xnx^n能用St原创 2017-02-26 08:16:38 · 798 阅读 · 0 评论 -
bzoj3779 lct+线段树+dfs序
题意:有一棵n个节点的树,每个节点有一个颜色,初始每个节点颜色不相同,且以节点1为根。定义每个点的权值为这个点到根的路径上不同颜色的个数。现在进行m次操作,每次操作为下列三种之一: 1、将x到当前根路径上的所有点染成一种新的颜色; 2、将x到当前根路径上的所有点染成一种新的颜色,并且把这个点设为新的根; 3、查询以x为根的子树中所有点权值的平均值。分析:首先我们观察到:操作一每次修改都是原创 2017-02-21 22:05:07 · 554 阅读 · 0 评论 -
虚树
bzoj 2286 3572 3879 3991 3611原创 2017-01-15 23:19:57 · 573 阅读 · 0 评论 -
替罪羊树
bzoj3224 bzoj3600 bzoj3065原创 2017-01-17 15:54:58 · 672 阅读 · 0 评论 -
trie树
题目 bzoj4260√ bzoj3439√ bzoj3166√ bzoj3261√原创 2017-01-08 11:25:48 · 366 阅读 · 0 评论 -
link-cut-tree
注意: ①左父亲右儿子!!每棵splay中的点左子树的深度都比当前点小,右节点的深度都比当前节点的深度大。 题: xsy1173(YES) 一个朴素的想法就是暴力加入区间中的每一条边。 对于加入的一条边,它可能将两个联通块连起来,也可能没有任何贡献。 定义一个c[],c[x]=1就是有贡献,c[x]=0为没有贡献。 对于没有贡献的情况我们将链中编号最小的边删去,将其在c[]中变为0,强原创 2016-12-18 21:19:42 · 825 阅读 · 0 评论