首页 > 其他分享 >题解 CF725G Messages on a Tree

题解 CF725G Messages on a Tree

时间:2024-02-27 20:46:03浏览次数:24  
标签:CF725G dep 题解 Messages begin Tree

update on 2023.8.9 修正了一些错误。

\(\texttt{link}\)

第 \(i\) 条信息的传输可以表示成 \(x_i\) 走到 \(x_i\) 的某一祖先再走回 \(x_i\) 的路径。所以答案只和 \(x_i\) 的这一祖先有关,记为 \(f_i\),则 \(ans_i=t_i+2\times dep_{x_i}-2\times dep_{f_i}\)。

若 \(x_i\) 在 \(f_i\) 停下,说明更早的时刻(或同一时刻但编号更小),有 \(x_j\) 经过了 \(f_i\),且到现在它也没回来。

于是有

\[\begin{cases}(t_i+dep_{x_i}-dep_{f_i},x_i)>(t_j+dep_{x_j}-dep_{f_i},x_j)\\t_i+dep_{x_i}-dep_{f_i}<t_j+dep_{x_j}+dep_{f_i}-2\times dep_{f_j}\end{cases} \]

二元组大小比较以第一项为第一关键字,第二项为第二关键字。

整理得

\[\begin{cases}(t_i+dep_{x_i},x_i)>(t_j+dep_{x_j},x_j)\\t_i+dep_{x_i}<t_j+dep_{x_j}+2\times dep_{f_i}-2\times dep_{f_j}\end{cases} \]

这是个二维偏序,把信息按 \((t_i+dep_{x_i},x_i)\) 排序,依次加入,即可满足第一条关系。

对于第二条关系,我们应该顺着根到 \(x_i\) 的路径向上爬,直到第一个节点 \(u\),满足 \(t_i+dep_{x_i}<t_j+dep_{x_j}+2\times dep_u-2\times dep_{f_j}\)。所以对于树上每个点 \(u\),维护 \(g_u\) 表示经过点 \(u\) 的点 \(x_j\) 中,\(t_j+dep_{x_j}-2\times dep_{f_j}\) 的最大值。于是只需找最深度最大的 \(x_i\) 的祖先,满足 \(t_i+dep_{x_i}<g_u+2\times dep_u\)。树剖,维护 \(\max(g_u+2\times dep_u)\),然后线段树二分即可。算出 \(f_i\) 后更新路径上最大值。

时间复杂度 \(O(n\log^2 n)\)。当然也可以用 LCT 做这种链上问题,可以少一个 \(\log\)。

标签:CF725G,dep,题解,Messages,begin,Tree
From: https://www.cnblogs.com/Terac/p/18038207

相关文章

  • 题解 CF1781G Diverse Coloring
    \(\texttt{link}\)题意给定一棵\(n\)个点的二叉树,现对其每个点染成黑色或白色。一种合法的染色方案满足:对于所有黑色的点,都存在白色的点与之相邻。对于所有白色的点,都存在黑色的点与之相邻。一种染色方案的权值是染成黑色的点数与染成白色的点数之差的绝对值。\(\foral......
  • 题解 CF1523H Hopping Around the Array
    \(\texttt{link}\)题意数轴上有\(n\)个点,每个点有属性\(a_i\),在第\(i\)个点可以花费\(1\)的步数移动至\([i,i+a_i]\)中任意一个点。定义一次操作为选出一个\(i\),使\(a_i\getsa_i+1\)。\(q\)组询问,每次给出\(l,r,k\),求有\(k\)次操作机会时,从第\(l\)个点走到......
  • 题解 CF983D Arkady and Rectangles
    \(\texttt{link}\)题意平面直角坐标系上给定\(n\)个矩形,第\(i\)个矩形颜色为\(i\),颜色大的矩形将覆盖颜色小的矩形,问最后能看到几种颜色。\(1\len\le10^5,|x_i|,|y_i|\le10^9\)题解首先离散化,考虑扫描线如何维护序列上的颜色。一个区间\([l,r]\)投射到线段树上\(......
  • AT_arc117_c [ARC117C] Tricolor Pyramid 题解
    [ARC117C]TricolorPyramid博客阅读体验(也许)更佳题意给一个金字塔的底部颜色组成和生长规律,问顶部的颜色是什么。分析试几次就可以很容易得到的一种构造:令颜色B为\(0\),W为\(1\),R为\(2\)。设左右两个方块的颜色分别为\(col_l\)和\(col_r\),则生长规则可以描......
  • P5605 小 A 与两位神仙 题解
    推销博客P5605小A与两位神仙题意给定\(x\)、\(y\)和\(m\),其中\(m=p^n,n\in\mathbb{N+},p\ge3\),问同余方程\(x^a\equivy\pmodm\)是否有非负整数解。分析前置芝士Pollard_rho原根化简对这种指数型的同余方程是很难解决的,我们要先把它转化成线性的同余方......
  • [ARC121B] RGB Matching 题解
    题意有\(2N\)个物品,每个物品有可爱度\(a_i\)和颜色\(c_i\),将其两两配对。假设物体\(i\)和\(j\)配对,则\(c_i\neqc_j\),则会增加\(|a_i-a_j|\)的不满意度,求最小的不满意度。分析这道题可以贪心解决。我们尽量让每一对物品颜色相同,令每种颜色的总个数为\(cnt_c\),......
  • AT_abc270_g [ABC270G] Sequence in mod P 题解
    [ABC270G]SequenceinmodP博客阅读可能体验更佳题意给出递推式如下,求最小的使\(X_i=G\)成立的\(i\)。\[X_i=\begin{cases}S&i=0\\(A\timesX_{i-1}+B)\bmodp&i\ge1\end{cases}\]分析这里分几种情况来分析:当\(A=0\)时,\(X_i\)要么等于\(S\),要么等于\(B\),直......
  • CF1928C Physical Education Lesson 题解
    洛谷传送门原题传送门题意一种上下波动的数组,给出所在的位置\(n\)和对应的数字\(x\),求出有几种数组满足条件。令\(k\)为最大值,则数组长成这样子:\[1,2,3,\cdots,k-1,k,k-1,k-2,\cdots,2,1,2,3,\cdots\]如图,每\(2(k-1)\)就循环一次。分析因为每\(2(k-1)\)......
  • CF1477A Nezzar and Board 题解
    题意给出数列\(S=\{a_i\}\)和整数\(k\),求是否能通过下面的操作使得\(k\inS\)?操作:选取\(x,y\inS\),将\(2x-y\)加入\(S\)中。分析观察操作可以发现,\(2x-y\)实际上就是数轴上\(y\)关于\(x\)的对称点,因此这个操作只与\(x\)和\(y\)在数轴上的相对位置有关,与......
  • [ABC342D] Square Pair 题解
    洛谷传送门原题传送门题意给出一个数列\(A\),求出满足\(A_iA_j\)为完全平方数的无序数对\((i,j)\)的个数。分析容易想到(但是我在昨晚没想到,可以原地AFO了),对于每个数,如果是\(0\)的话可以直接统计答案(记录\(0\)的个数\(cnt\),最后\(ans\leftarrowans+cnt(n-cnt)+\f......