[JZOJ1906] 珠链分割

针对一个包含NN个点的环套树结构,探讨如何将其划分为KK个连通块,其中一个块上的点权值变为平方形式,以实现最大化最小块权值的目标。文章介绍了两种特殊情况的解决思路:树形结构和环形结构,并提出了一种综合解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Description

给定N个点的环套树,有且仅有一个简单环,每个点有权值ai
现在要把它划分成K个连通块,有1个连通块中环上点的权值变为a2i
一个连通块的权值定义为ai,求最大化最小的块权值。

Constraint

N3×105

K104

Analysis

假设现在考虑一棵树的情况,我们二分答案,然后Tree DP,设
fi,gi为当前结点i的合法块数目,不合法块的权值和,复杂度是
O(NlogA)

又假设现在考虑一个环的情况,同样二分答案,先把环复制,然后枚举
环上开始平方的位置,然后预处理倍增出,当前点往后K1个块到哪里,
可以O(NlogAlogK)

然后把这两种情况整合一下即可,可以把倍增的logK去掉,只要
考虑到把询问挂在倍增对应的树的结点上。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值