BZOJ_4196_[Noi2015]软件包管理器_树链剖分 题意: Linux用户和OSX用户一定对软件包管理器不会陌生。通过软件包管理器,你可以通过一行命令安装某一个软件包,然后软件包管理器会帮助你从软件源下载软件包,同时自动解决所有的依赖(即下载安装这个软件包的安装所依赖的其它软件包),完成所 ...
分类:
其他好文 时间:
2018-02-21 20:47:08
阅读次数:
160
数据结构 1.树链剖分 (1)如果边 u v 为轻边,那么 $size[v]\leq size[u]/2$。 证明:若 $size[v] size[u]/2$,那么 u v 会成为一条重边。 (2)树中任意两个节点之间的路径中重边、轻边的条数均不会超过$log_2n$,即树上任意一条链由不超过$lo ...
分类:
其他好文 时间:
2018-02-21 13:07:12
阅读次数:
101
题解: 解法1: 树链剖分一下,对每条链建立一颗Splay 以宗教为第一关键字,深度为第二关键字建立 查询相当于Splay的一个区间 修改相当于删除一个节点,加入一个节点 O(nlog^2n) O(n); 解法2: 树链剖分一下,对每条链建立maxc棵权值线段树,动态开点 O(nlog^2n) O( ...
分类:
其他好文 时间:
2018-02-20 18:22:46
阅读次数:
171
题解:树链剖分一下 对线段树每个节点维护双堆,支持插入删除 对于每一条请求,给这个请求没经过的点加入这个值,共logn个区间 查询就是线段树上的单点查询 ...
分类:
其他好文 时间:
2018-02-20 18:21:43
阅读次数:
176
http://www.lydsy.com/JudgeOnline/problem.php?id=4034 dfs序,树链剖分 4034: [HAOI2015]树上操作 Description 有一棵点数为 N 的树,以点 1 为根,且树点有边权。然后有 M 个 操作,分为三种: 操作 1 :把某个节 ...
分类:
其他好文 时间:
2018-02-20 17:29:31
阅读次数:
199
洛谷P3313 大概是一道树链剖分的裸题。可以看出如果不是查询相同宗教的这一点,就和普通的树链剖分毫无两样了。所以针对每一个宗教都单独开一棵线段树,变成单点修改+区间查询。只不过宗教数目很多,空间消耗太大所以只能开一棵总的再动态开点。 ...
分类:
其他好文 时间:
2018-02-20 13:24:51
阅读次数:
244
题解:动态树,维护Splay最深的被标记过的点 每个询问先Access(x); 当然用树链剖分也可以 ...
分类:
其他好文 时间:
2018-02-19 20:22:19
阅读次数:
171
省选一试后的第一篇blog! Description Z国坐落于遥远而又神奇的东方半岛上,在小Z的统治时代,公路成为这里主要的交通手段。Z国共有n座城市,一些城市之间由双向的公路所连接。非常神奇的是Z国的每个城市所处的经度都不相同,并且最多只和一个位于它东边的城市直接通过公路相连。Z国的首都是Z国政 ...
分类:
其他好文 时间:
2018-02-18 22:45:26
阅读次数:
181
https://www.luogu.org/problemnew/show/P3379 1 #include <bits/stdc++.h> 2 using namespace std; 3 4 inline int read(){ 5 register int c = getchar(), x = ...
分类:
其他好文 时间:
2018-02-18 10:30:06
阅读次数:
164
题目描述 如题,给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先。 输入输出格式 输入格式: 第一行包含三个正整数N、M、S,分别表示树的结点个数、询问的个数和树根结点的序号。 接下来N-1行每行包含两个正整数x、y,表示x结点和y结点之间有一条直接连接的边(数据保证可以构成树)。 接下来M行 ...
分类:
其他好文 时间:
2018-02-17 21:23:43
阅读次数:
216