计蒜客-自建物流的无人机实验
题意
\(n\)点带权树(\(v_i\)),需要确定一个选点的方案,令\(g_i=\sum\limits_{x,y}[lca(x,y)=i]\),使得\(g_i\ge v_i\)
做法
令\(s_1,s_2,...,s_k\)为\(x\)的子节点(令\(x\)也为\(x\)的子节点,但\(x\)的子树定义不变),\(cnt_i\)为以\(i\)为根的子树中选了多少个点,令\(f_i\)为当前\(lca=i\)的对数
\[\begin{aligned}
f_x&=\frac{(cnt_x(cnt_x-1))}{2}-\sum\limits_{i}\frac{(cnt_{s_i})(cnt_{s_i}-1)}{2}\\
&=\frac{cnt_x^2-cnt_x-\sum\limits_{i}cnt_{s_i}^2+\sum\limits_{i}cnt_{s_i}}{2}\\
&=\frac{cnt_x^2-\sum\limits_{i}cnt_{s_i}^2}{2}\\
\end{aligned}\]
也就是在\(cnt_x\)不变的情况下,\(cnt_{s_i}\)越平均越优

浙公网安备 33010602011771号