不知道第多少次 二

别人补题,我补题解(

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$:

  1. 换掉第 $k$ 长的长链 $z$,此时失去的贡献为 $z$ 的长度,获得的贡献为 $x$ 的链底到 $y$ 的父亲的距离。

  2. 换掉 $y$ 上方的长链 $z$,此时失去的贡献为 $z$ 的长度,获得的贡献为 $x$ 的链底到 $z$ 的父亲的距离。

选更优的一项即可。

posted @ 2023-10-06 07:57  Jijidawang  阅读(2)  评论(0编辑  收藏  举报  来源