CF1844G Tree Weights

· · 题解

CF1844G Tree Weights

阴间 ad-hoc 构造。

1 为根,设 x_ii 的深度,则 x_i + x_{i + 1} - 2x_{u_i} = d_i,其中 u_iii + 1 的 LCA。

首先已知 x_1 = 0,考虑递推 x_{i + 1} = d_i + 2x_{u_i} - x_i

可以按位确定:在模 2 意义下递推 x_{i + 1} = d_i - x_i,得到 x_i\bmod 2 的值;在模 4 意义下递推 x_{i + 1} = d_i + 2(x_{u_i}\bmod 2) - x_i,得到 x_i\bmod 4 的值,以此类推,直到求出在模 2 ^ {60} 意义下的 x 即为真实值。

最后检查是否合法即可:每个点的深度大于其父亲,且 x_i + x_{i + 1} - 2x_{u_i} = d_i

时间复杂度 \mathcal{O}(n(\log n + \log V))。代码。