随笔分类 - 点分治&边分治
摘要:题面 题解:首先发现对于datatype=3的点,允许的询问次数是$O(n+log_n)$级别的。那么先考虑树是一条链的情况。考虑当前我们已经找到了这个链的中间一段,我们称其左端点为$l$,右端点为$r$,那么此时有意义的询问显然是$(l/r,x)$,$x$是一个未被探索到的点。我们称一次询问“失败
阅读全文
摘要:题面 题解:由于区间内每个点和$x$的lca都不尽相同,我们很难用$dep_x+dep_y-2\times dep_$来进行求解。于是考虑点分治,把询问离线下来,挂在点$x$上。 发现问题变得很简单:我们只需要扫一遍分治中心的所有儿子,先在线段树上查一下区间离它最远的点的距离,然后再把自己加进线段树
阅读全文
摘要:题面 英文题面 题意:有一棵$n$个点的树,每条边的边权是一个一次函数$a_i\times t +b_i$。求对于所有的$t\in [0,m-1]$的树的直径。 \(n \leq 10^5,m\leq 10^6,a_i\leq 10^5,b_i \leq 10^9\)。 题解:首先,最暴力的做法就是
阅读全文
摘要:题面 英文题面 题意:给定一颗带边权的树,求一条边数在 [L,R][L,R] 之间的路径,并使得路径上边权的中位数最大。输出一条可行路径的两个端点。有两个中位数时取较大的那个。\(n \leq 10^5\)。 题解:对于中位数的题,常见的套路是二分答案$w$,将小于$w$的数定为-1或0,将大于等于
阅读全文
摘要:题面:https://www.luogu.com.cn/problem/P4220 题意:给出三棵树,求出$dis1(x,y)+dis2(x,y)+dis3(x,y)$最大值。 题解: 首先,列举一下和深度、距离相关的可能用到的算法: 树剖,$dis_x$+$dis_y$ 2 $dis_{lca(x
阅读全文

浙公网安备 33010602011771号