删边转化为加边 然后每次用线段树合并就行..... 确确实实很简单 然而为什么线段树合并跑不过$splay$的启发式合并,常数稍大了点... 复杂度$O(n \log n)$ ...
分类:
其他好文 时间:
2018-10-25 00:11:38
阅读次数:
190
这道题采用权值线段树合并的解法。 首先讲一下解法中出现的两个概念:权值线段树与线段树合并。 所谓权值线段树,可以理解为维护的信息反过来的普通线段树,我个人认为值域线段树这个名字其实要准确一些。 举个例子,我们将序列$1,1,2,3,4,4,4,5,6,6$中的数依次插入,那么插入完成之后的效果图大概 ...
分类:
其他好文 时间:
2018-10-24 10:54:10
阅读次数:
150
这道题开10倍左右一直MLE+RE,然后尝试着开了20倍就A了。。。窒息 对于这道题目,我们考虑使用线段树合并来做。 所谓线段树合并,就是把结构相同的线段树上的节点的信息合在一起,合并的方式比较类似左偏树什么的。 我们对于每个节点用权值线段树查询大于它的子节点数量,然后把当前节点并到它的父亲上面去。 ...
分类:
其他好文 时间:
2018-10-24 10:44:11
阅读次数:
209
Recently, TeaTree acquire new knoledge gcd (Greatest Common Divisor), now she want to test you. As we know, TeaTree is a tree and her root is node 1, ...
分类:
其他好文 时间:
2018-10-01 00:14:38
阅读次数:
179
大致思路: 差分 + 二分索引树。 1 using namespace std; 2 #define inf 0x3f3f3f3f 3 const double pi=acos(-1.0); 4 #define ll long long 5 #define N 200008 6 #define ls ...
分类:
其他好文 时间:
2018-09-17 21:28:46
阅读次数:
186
题目大意: 一颗树,想要在树链上添加同一物品,问最后每个点上哪个物品最多。 解题思路: 假如说物品数量少到可以暴力添加,且树点极少,我们怎么做。 首先在一个树节点上标记出哪些物品有多少,寻找道路上的节点暴力添加。 而如果节点比较多,我们使用树上差分u+1,v+1,lca-1,fa[lca]-1向上求 ...
分类:
其他好文 时间:
2018-09-05 00:45:31
阅读次数:
335
题目背景 深绘里一直很讨厌雨天。灼热的天气穿透了前半个夏天,后来一场大雨和随之而来的洪水,浇灭了一切。虽然深绘里家乡的小村落对洪水有着顽固的抵抗力,但也倒了几座老房子,几棵老树被连根拔起,以及田地里的粮食被弄得一片狼藉。无奈的深绘里和村民们只好等待救济粮来维生。不过救济粮的发放方式很特别。题目描述 ...
分类:
其他好文 时间:
2018-09-04 21:19:24
阅读次数:
153
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6430 题意:一棵树上每个节点权值为v[i],每个节点的heard值是:以它为LCA的两个节点的GCD的最大值,要求输出每个节点的heard值。 题解:权值范围是[1, 1e5],1e5内数因子最多不超过 ...
分类:
其他好文 时间:
2018-09-03 20:30:46
阅读次数:
256
我之前考试是遇到过这题,但是数据范围k<=20,状压就能过。 结果原题范围k<=100000…… 果断线段树合并。 普及线段树合并: 比如两个相同大小的线段树,将b树各个区间上的值合并到a树上,从树根开始合并,然后递归合并左右儿子,有三种情况: (假设现在a树遍历到x点,b树遍历到y点) 1.x,y ...
分类:
其他好文 时间:
2018-09-01 20:35:53
阅读次数:
142
今天瓜成一坨了。 瓜的说不出话来。 直接退役算了我。 T1 傻逼题,但是我傻逼地敲了一个线段树合并,然后把空间炸了,只剩20分, 直接dfs维护子树大小,子树中最大最小值即可统计答案。 1 //Achen 2 #include<algorithm> 3 #include<iostream> 4 #i ...
分类:
其他好文 时间:
2018-08-29 16:55:23
阅读次数:
143