取物游戏 题解

题目大意

​ 给你两个长度为 n n n的数组 a a a b b b,它们共同描述了 n n n个点。给出一个数 x x x,在数组中取 x x x个编号,使得基础得分 2 max ⁡ i 被 选 中 { b i } + ∑ j 被 选 种 a j 2\max_{i被选中}\{b_i\}+\sum_{j被选种}a_j 2maxi{bi}+jaj最大的情况下,最大的最终得分 2 max ⁡ i 被 选 中 { b i } + ∑ j 被 选 种 a j ⋅ y 2\max_{i被选中}\{b_i\}+\sum_{j被选种}a_j\cdot y 2maxi{bi}+jajy最大是多少,其中 1 ⩽ y ⩽ x 1\leqslant y \leqslant x 1yx y y y不重复。

算法

​ 思维题。本题不难,但思维含量较大。

​ 我们先按 b i b_i bi排序。设 c i c_{i} ci表示前 i i i个数排过序的 a a a,可以用插入排序 O ( n 2 ) O(n^2) O(n2)

​ 枚举以 i i i为最远的点,则
基 础 得 分 = ∑ j = 1 x − 1 c i − 1 , j + a i + 2 b i 基础得分 = \sum_{j=1}^{x-1}c_{i-1,j} + a_i + 2b_i =j=1x1ci1,j+ai+2bi
​ 我们这样就可以在 Θ ( n ) \Theta(n) Θ(n)内算出最大的基础得分了。

​ 设 p p p满足以 p p p为最远的点,基础得分最大。则最终得分就是用 c p , 1 ∼ x − 1 c_{p,1\sim x-1} cp,1x1 a p a_p ap 1 ∼ m 1\sim m 1m对应相乘的最大值 + 2 b p +2b_p +2bp。最优的对应就是大的对应大的,小的对应小的。

​ 基础得分和最终得分都可以在 Θ ( n ) \Theta(n) Θ(n)内算出来,所以时间复杂度为 Θ ( n m ) \Theta(nm) Θ(nm)

注意事项

  1. 不开long long见祖宗,全开long long会MLE。
  2. 此做法由WTC大奆想出来。
  3. 看不懂可以参考楼上RZC大奆的题解。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值