JZOJ 6653. 【2020.05.27省选模拟】树(权值线段树)

一道关于树的题目,要求在满足条件的边权和父亲编号分配下,求1到n路径长度为[1,n)时路径的最大边权和。通过分析每个数出现的次数和前缀和,确定解的存在性和路径构建。使用权值线段树进行动态维护最大最小值,实现求解路径优化的过程。" 129249971,8345708,理解抄袭与正确引用的重要性,"['学术写作', '科研道德', '学术规范', '文献引用']

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

JZOJ 6653. 【2020.05.27省选模拟】树

题目大意

  • 一棵以111为根大小为nnn的树,要求父亲编号小于儿子,2n−22n-22n2个数,可任意分配使它们作为树的边权和每个点的父亲编号,求各种分配下111nnn路径长度分别为[1,n)[1,n)[1,n)时路径的最大边权和。
  • n≤105n\le10^5n105

题解

  • 树的形态确定后,最大边权和自然为剩余未选的若干个数之和。
  • 统计每个数出现的个数cic_ici,求出前缀和,若存在sumi−1<i−1sum_{i-1}<i-1sumi1<i1则必然无解,因为可选的父亲个数小于儿子个数;若存在sumi−1=i−1sum_{i-1}=i-1sumi1=i1则它iii必然要作为111nnn路径上的点,不然没有多余的父亲编号让iii后某个点连向iii前某个点;其他的点都是在或不在路径上皆可。
  • 否则,先考虑从111nnn路径最长的情况,自然可以把所有ci≠0c_i\not=0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值