不知道第多少次 二

别人补题,我补题解(

A

P2801 套 AT_tenka1_2014_final_d

B

结论:原树可分解为 nk 个大小为 k 的连通块,当且仅当 i=1n[ksi]=nk,其中 si 表示 i 的子树大小。

证明:记分解 n 个点,i=1n[ksi]=nk 的树的问题为 (n,nk),则在此树中删去一个大小为 k 的子树后 (n,nk) 归约到 (nk,nk1)

由此 (n,k) 最终可以归约到 (0,0),而 (0,0) 显然有解。

ci 表示 is 中的出现次数,则 i=1n[ksi]=kici,狄利克雷后缀和。

C

要解 f(θ)=bahcosθsin2θ=0,换元 x=cosθ,则 f(θ)=bahx1x2=0,化简后套求根公式即可。

D

必选一条端点在直径端点的路径,所以以直径两端点为根建两棵树,考虑一棵树的答案。

需要选出 1 条根到叶子的路径,k1 条叶子到叶子的路径,最大化路径并边权和,

而必定存在方案使得每条路径都经过根:

所以只需考虑选出哪 2k1 个叶子,使得构造出路径的并,即这 2k1 个叶子的根链并边权和最大,下面的 k2k1

长剖,没有必须覆盖 x 的限制时,前 k 长的长链长度和即为答案(一条长链顶端到根的部分恰好被比它长的长链完全覆盖)。

考虑怎么解决 x 的限制。首先如果 x 所在长链在前 k 长的长链中,答案不变。

否则考虑 x 换掉哪条长链,设 x 上方深度最浅的,未被选择的链顶为 y

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

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

选更优的一项即可。

posted @   Jijidawang  阅读(2)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示