2020.12.26【NOIP提高B组】总结

这是一个好东西->作者主页

T1 Deep

题目大意:

V和K各有一些法力水晶,由K先手,双方每次可以作出如下选择:
• 使用一个法力水晶,使得传送门的法力等级增加一。
• 不用法力水晶,让对方增加等于传送门法力等级的深度,然后将传送门的法力值清零。特别地,若法力水晶数不为零且传送门法力等级为零则不能进行这样的操作。
双方都会采取最优策略使自己的最终深度与对手深度的差最大(初始时深度均为零)。
现在多次给定双方起始的法力水晶数量A, B,求K与V的的最终深度差。

思路:数学。每一次将传送门加一时,另一个人可以把传送门的数推给那个人,直到那个人放完后没有水晶,便开始自己刷。
结论:

  • a a a b b b都不为 0 0 0时, a n s = a − b − 2 ans=a-b-2 ans=ab2
  • 否则, a n s = a − b ans=a-b ans=ab
T2 Dark

题目大意:给你一个序列,每次可以选择相邻两个数减一,然后答案加一,直到不能操作。求答案最小值。
思路: d p dp dp
d p i dp_i dpi表示取第 i i i个数,前 i − 1 i-1 i1个数都满足的情况的最小答案。
那么, f i f_i fi等于:

  1. f i − 1 + a i f_{i-1}+a_i fi1+ai
  2. f i − 2 + a i f_{i-2}+a_i fi2+ai
  3. f i − 3 + m a x ( a i − 1 , a i ) f_{i-3}+max(a_{i-1},a_i) fi3+max(ai1,ai)

结论自己推

T3 Fantasy

题目大意:

现在有一个长度为N 的序列{Ai},对于这个序列的每一个子串,定义其值为这个子串的和,希望选择K 个不同的子串并使得这K 个子串的值之和最大。
提示:这些子串的长度必须在L 到R 之间。

思路:
未知,请刷新后查看

T4 小型耀斑

题目大意:给你一个 n ∗ m n*m nm的地图, Q Q Q个询问,每次询问一组 x , y , k {x,y,k} x,y,k表示在 ( x , y ) (x,y) (x,y)点放一颗威力为 k k k的核弹,该核弹可以造成辐射,辐射值为 ( k − d i s t ) ∗ a i , j (k-dist)*a_{i,j} (kdist)ai,j。求每一个核弹的辐射值总和。
思路:

  1. 暴力枚举被辐射的点,然后加起来, O ( Q n m ) O(Qnm) O(Qnm) 30 30 30
  2. 斜缀和+枚举爆炸范围 k k k O ( Q k ) O(Qk) O(Qk) 60 60 60
  3. 前缀和+前缀三角和+梯形前缀和+倒梯形前缀和, O ( Q ) O(Q) O(Q) 100 100 100

提示:不开 l o n g long long l o n g long long见祖宗


完成情况
  • T1
  • T2
  • T3
  • T4
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值