不知道第多少次 二
别人补题,我补题解(
A
P2801 套 AT_tenka1_2014_final_d
B
结论:原树可分解为 $\dfrac nk$ 个大小为 $k$ 的连通块,当且仅当 $\sum\limits_{i=1}^n[k\mid s_i]=\dfrac nk$,其中 $s_i$ 表示 $i$ 的子树大小。
证明:记分解 $n$ 个点,$\sum\limits_{i=1}^n[k\mid s_i]=\dfrac nk$ 的树的问题为 $(n,\dfrac nk)$,则在此树中删去一个大小为 $k$ 的子树后 $(n,\dfrac nk)$ 归约到 $(n-k,\dfrac nk-1)$,
由此 $(n,k)$ 最终可以归约到 $(0,0)$,而 $(0,0)$ 显然有解。
设 $c_i$ 表示 $i$ 在 $s$ 中的出现次数,则 $\sum\limits_{i=1}^n[k\mid s_i]=\sum\limits_{k\mid i}c_i$,狄利克雷后缀和。
C
要解 $f(\theta)'=b-\dfrac{ah\cos\theta}{\sin^2\theta}=0$,换元 $x=\cos\theta$,则 $f(\theta)'=b-\dfrac{ahx}{1-x^2}=0$,化简后套求根公式即可。
D
必选一条端点在直径端点的路径,所以以直径两端点为根建两棵树,考虑一棵树的答案。
需要选出 $1$ 条根到叶子的路径,$k-1$ 条叶子到叶子的路径,最大化路径并边权和,
而必定存在方案使得每条路径都经过根:
所以只需考虑选出哪 $2k-1$ 个叶子,使得构造出路径的并,即这 $2k-1$ 个叶子的根链并边权和最大,下面的 $k$ 指 $2k-1$。
长剖,没有必须覆盖 $x$ 的限制时,前 $k$ 长的长链长度和即为答案(一条长链顶端到根的部分恰好被比它长的长链完全覆盖)。
考虑怎么解决 $x$ 的限制。首先如果 $x$ 所在长链在前 $k$ 长的长链中,答案不变。
否则考虑 $x$ 换掉哪条长链,设 $x$ 上方深度最浅的,未被选择的链顶为 $y$:
-
换掉第 $k$ 长的长链 $z$,此时失去的贡献为 $z$ 的长度,获得的贡献为 $x$ 的链底到 $y$ 的父亲的距离。
-
换掉 $y$ 上方的长链 $z$,此时失去的贡献为 $z$ 的长度,获得的贡献为 $x$ 的链底到 $z$ 的父亲的距离。
选更优的一项即可。