题目大意:给你一些点,修改是在在两个点之间连一条无向边,查询时求某个点能走到的点中重要度第k大的点。题目中给定的是每个节点的排名,所以实际上是求第k小;题目求的是编号,不是重要度的排名。我一开始差点被这坑了。 网址:http://www.lydsy.com/JudgeOnline/problem.p ...
分类:
其他好文 时间:
2017-05-29 22:22:16
阅读次数:
357
http://www.lydsy.com/JudgeOnline/problem.php?id=4756 水题一枚。。。但是我写了一个小时。。。手贱打反查不出来。。。 就是每次线段树合并,先把自己的儿子都合并了, 最后和自己合并。。。 ...
分类:
其他好文 时间:
2017-05-20 17:20:13
阅读次数:
277
http://www.lydsy.com/JudgeOnline/problem.php?id=2212 线段树合并。。。 感觉这东西挺鬼畜的。。。不是很懂 这道题思想很简单,对于每个非叶子结点,我们要合并左右儿子的数,我们可以交换或者不交换,那么交换了其实只会自己内部有影响,对下一次合并没有影响, ...
分类:
其他好文 时间:
2017-05-20 15:54:50
阅读次数:
278
线段树合并入门题。 分别计算左子树的逆序对,右子树的逆序对,合并的时候计算贡献。 ...
分类:
其他好文 时间:
2017-05-19 23:49:40
阅读次数:
219
动态开点 均摊O(nlogn),复杂度正相关于公共节点数 使用条件:key上界相同(树的结构相同) void merge_node(int x, int y) { //用node[y]的信息更新x } int merge(int x, int y) { if (!x) return y; if (! ...
分类:
其他好文 时间:
2017-05-01 15:06:22
阅读次数:
171
//By SiriusRen #include #include #include using namespace std; const int N=200050; int n,q,cnt,dfn[N],last[N],tree[N*16],lson[N*16],rson[N*16]; int fi... ...
分类:
其他好文 时间:
2017-04-30 14:13:33
阅读次数:
207
思路: 暴力建图有n*m条边 考虑怎么优化 (那就只能加个线段树了呗) 然后我就不会写了..... 抄了一波题解 ...
分类:
其他好文 时间:
2017-03-29 00:59:42
阅读次数:
250
思路: 1.最裸的线段树合并 2. 我们可以观察到子树求一个东西 那我们直接DFS序好了 入队的时候统计一下有多少比他大的 出的时候统计一下 减一下 搞定~ 线段树合并代码: ...
分类:
其他好文 时间:
2017-03-21 10:13:48
阅读次数:
222
4631: 踩气球 Description 六一儿童节到了, SHUXK 被迫陪着M个熊孩子玩一个无聊的游戏:有N个盒子从左到右排成一排,第i个盒子里装着Ai个气球。 SHUXK 要进行Q次操作,每次从某一个盒子里拿出一个没被踩爆的气球,然后熊孩子们就会立刻把它踩爆。 这M个熊孩子每个人都指定了一个 ...
分类:
其他好文 时间:
2017-03-12 19:31:03
阅读次数:
144
用并查集记录每个联通块的根节点,每个联通块建一棵线段树,合并时合并线段树就可以了。 代码: 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 using namespace std; 5 #define N 100010 6 ...
分类:
其他好文 时间:
2017-03-04 10:42:47
阅读次数:
206