ARC 121 D 题解

Description

传送门

Solution

Lemma 1

若我们将 a a a 从小到大排序,那么答案的上界为

∑ i = n + 1 2 n a i − ∑ i = 1 n a i \sum_{i=n+1}^{2n}a_i-\sum_{i=1}^n a_i i=n+12naii=1nai


考虑构造一个能达到上界的算法。

为方便叙述,我们考虑构造一个合法括号序列,匹配的两个数被求和。

f i f_i fi 表示,在排序后 i i i 是否在前一半。我们将原序列从左往右扫描,用栈实时维护未匹配的左括号,并记录下每个左括号来源于哪个位置。

令当前扫描到了 i i i

  • 若栈为空,填上 ( 并压入栈中
  • 若栈非空,找到栈顶对应的位置 p p p,若 f p ≠ f i f_p \neq f_i fp=fi 则填上 ) 并弹栈,否则填上 ( 并压入栈中

显然,上述构造方式得到的答案,必定合法且取到上界。

Code

咕咕咕

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值