description analysis 堆$+$树上倍增 考虑后序遍历搞出$dfs$序,那么要填肯定是从$dfs$序开始填 把每个点是序里第几位看成优先级,用小根堆来维护当前空着的优先级最小的点 插入每次弹$x$次堆顶,然后把这些点全部打上标记,注意标记一定是先打儿子再打父亲 然后找一个点深度最浅 ...
分类:
其他好文 时间:
2019-07-03 16:39:36
阅读次数:
66
题目 $n , m ,d,x\le 10^5 , $强制在线 题解 对原树做dfs,得到原树的dfs序 对kruksal重构树做dfs,得到重构树的dfs序 那么就是一个三维数点问题 强制在线并且卡空间,我写的线段树套$splay$ (主要想存一下模板OVO) c++ include define ...
分类:
其他好文 时间:
2019-06-23 20:59:18
阅读次数:
93
题目链接: "戳我" 可以知道,我们相当于是把有宝藏在的地方围了一个圈,求这个圈最小是多大。 显然按照dfs序来遍历是最小的。 那么我们就先来一遍dfs序列,并且预处理出来每个点到根的距离(这样我们就可用$dis[u]+dis[v] 2 dis[lca(u,v)]$来表示u,v之间的距离) 怎么动态 ...
#支配树在一个有向图中,有一个起点R,对于任意点W,对于R->W的任意路径都经过点P,则称P为W的支配点。设idom[i]表示距离i最近的支配点。在原图基础上,idom[i]向i连边构成一颗新树,称为支配树##支配树的性质1.支配树是以R为根的一棵树2.对于任意点i,到根r路径上经过的点集{xi}是 ...
分类:
其他好文 时间:
2019-06-02 15:46:25
阅读次数:
104
There is an apple tree outside of kaka's house. Every autumn, a lot of apples will grow in the tree. Kaka likes apple very much, so he has been carefu ...
分类:
移动开发 时间:
2019-06-01 21:30:38
阅读次数:
128
"CF1061E Politics E. Politics" 考虑利用树的性质,因为是子树问题,所以放到dfs序上。 只考虑一个树,问题是每个区间选恰好$k$个。因为区间其实是子树,所以区间要么包含,要么不交。 所以可以把区间拆开,拆开很多个互相独立的区间。 问题就变成了有若干个,从每个集合中选择$ ...
分类:
其他好文 时间:
2019-06-01 17:53:10
阅读次数:
95
【原题题面】传送门 【思考过程】 树剖板子。 说好了这题写Dfs序。 好我已经看出来了这题用树状数组不是很好搞。 opt1:单点修改 opt2:区间修改 opt3:“区间查询” 从根节点到x的路径上的点在dfs序上的表现是:时间戳便利到当前结点,只有in还没有out,即只进入对应的子树还没有返回到自 ...
分类:
其他好文 时间:
2019-05-18 21:06:17
阅读次数:
166
题意 有一个序列,是1到n的一种排列,排列的顺序是字典序小的在前,那么第k个数字是什么?($1 \leq n \leq 10^6,1 \leq k \leq n,多组T\leq 100$) 题解1 假如剪枝好的话,每次最多搜1e6,这样总共1e8,能过 dfs序 =k剪掉,num n剪掉 题解2 预 ...
分类:
编程语言 时间:
2019-05-06 01:09:25
阅读次数:
163
感谢weeping dfs序是树在dfs先序遍历时的序列,将树形结构转化成序列问题处理。 dfs有一个很好的性质:一棵子树所在的位置处于一个连续区间中。 ps:deep[x]为x的深度,l[x]为dfs序中x的位置,r[x]为dfs序中x子树的结束位置 1.点修改,子树和查询 在dfs序中,子树处于 ...
分类:
其他好文 时间:
2019-04-27 09:50:08
阅读次数:
138
首先要求第k大就想到用主席树来处理 但是不能直接用树链剖分的dfs序来维护,因为一条链对应的dfs下标可能是断开的几段,无法用权值线段树来维护 那么久维护每个点到根节点的全值线段树,结点u的权值线段树记录了其到根节点路径上数值的出现次数 主席树相当于维护了一个前缀和,由树上前缀和可以分析出u->v路 ...
分类:
其他好文 时间:
2019-04-24 15:58:13
阅读次数:
156