这是一个好东西->作者主页
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=a−b−2
- 否则, a n s = a − b ans=a-b ans=a−b
T2 Dark
题目大意:给你一个序列,每次可以选择相邻两个数减一,然后答案加一,直到不能操作。求答案最小值。
思路:
d
p
dp
dp
设
d
p
i
dp_i
dpi表示取第
i
i
i个数,前
i
−
1
i-1
i−1个数都满足的情况的最小答案。
那么,
f
i
f_i
fi等于:
- f i − 1 + a i f_{i-1}+a_i fi−1+ai
- f i − 2 + a i f_{i-2}+a_i fi−2+ai
- f i − 3 + m a x ( a i − 1 , a i ) f_{i-3}+max(a_{i-1},a_i) fi−3+max(ai−1,ai)
结论自己推
T3 Fantasy
题目大意:
现在有一个长度为N 的序列{Ai},对于这个序列的每一个子串,定义其值为这个子串的和,希望选择K 个不同的子串并使得这K 个子串的值之和最大。
提示:这些子串的长度必须在L 到R 之间。
思路:
未知,请刷新后查看
T4 小型耀斑
题目大意:给你一个
n
∗
m
n*m
n∗m的地图,
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}
(k−dist)∗ai,j。求每一个核弹的辐射值总和。
思路:
- 暴力枚举被辐射的点,然后加起来, O ( Q n m ) O(Qnm) O(Qnm), 30 30 30分
- 斜缀和+枚举爆炸范围 k k k, O ( Q k ) O(Qk) O(Qk), 60 60 60分
- 前缀和+前缀三角和+梯形前缀和+倒梯形前缀和, 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