UOJ#418. 【集训队作业2018】三角形(线段树合并)

该博客详细介绍了如何解决UOJ#418集训队作业中关于三角形的问题,涉及到线段树合并的操作。通过分析在没有限制的情况下,如何使前缀最大值最小,将数值分为两部分进行处理,并讨论了在有限制条件下的解决方案,使用堆来维护最小值,并结合线段树进行合并,最终达到O(nlogn)的时间复杂度。
摘要由CSDN通过智能技术生成

传送门

题解:
加入一个数,相当于是先加上 A i = w i A_i=w_i Ai=wi,再减去 B i = ∑ j ∈ s o n i w j B_i = \sum_{j \in son_i} w_j Bi=jsoniwj,然后代价就是一个操作序列的前缀最大值。

先考虑一下没有限制的的时候,怎么使得这个前缀最大值最小,我们可以分为两个部分: A i − B i &lt; 0 , A i − B i ≥ 0 A_i - B_i \lt 0,A_i -B_i \ge 0 AiBi<0,AiBi0。显然 A i − B i &lt; 0 A_i - B_i \lt0 AiBi<0的要放在 A i − B i ≥ 0 A_i -B_i \ge 0 AiBi</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值