题意
还记得 NOIP 2012 提高组 Day1 的国王游戏吗?时光飞逝,光阴荏苒,四年过去了。早已过时的国王游戏如今已被皇后游戏取代,请你来解决类似于国王游戏的另一个问题。
皇后有 n 位大臣,每位大臣的左右手上面分别写上了一个正整数。恰逢劳动节来临,皇后决定为 n 位大臣颁发奖金,其中第 i 位大臣所获得的奖金数目为第 i-1 位大臣所获得奖金数目与前 i 位大臣左手上的数的和的较大值再加上第 i 位大臣右手上的数。
形式化地讲:我们设第 i 位大臣左手上的正整数为 ai,右手上的正整数为 bi, 则第 i 位大臣获得的奖金数目为 ci 可以表达为:
\[$$c_i=\begin{cases}a_1+b_1 & i=1\\max \{c_{i-1},\sum^{i}_{j=1}{a_j} \} +b_i & 2 \le i \le n\\\end{cases}\$$]
当然,吝啬的皇后并不希望太多的奖金被发给大臣,所以她想请你来重新安排一下队伍的顺序,使得获得奖金最多的大臣,所获奖金数目尽可能的少。
注意:重新安排队伍并不意味着一定要打乱顺序,我们允许不改变任何一位大臣的位置。
【样例说明 1】
按照 1、2、3 这样排列队伍,获得最多奖金的大臣获得奖金的数目为 10;
按照 1、3、2 这样排列队伍,获得最多奖金的大臣获得奖金的数目为 9;
按照 2、1、3 这样排列队伍,获得最多奖金的大臣获得奖金的数目为 9;
按照 2、3、1 这样排列队伍,获得最多奖金的大臣获得奖金的数目为 8;
按照 3、1、2 这样排列队伍,获得最多奖金的大臣获得奖金的数目为 9;
按照 3、2、1 这样排列队伍,获得最多奖金的大臣获得奖金的数目为 8。
当按照 3、2、1 这样排列队伍时,三位大臣左右手的数分别为:
(1, 2)、(2, 2)、(4, 1)
第 1 位大臣获得的奖金为 1 + 2 = 3;
第 2 位大臣获得的奖金为 max{3, 3} + 2 = 5;
第 3 为大臣获得的奖金为 max{5, 7} + 1 = 8。
【数据规模与约定】
所有测试点的数据规模如下:
测试点编号 | n的规模 | T的规模 | 约定 |
1 | =1 | =1 | 无 |
2 | =2 | ||
3 | =5 | =5 | |
4 | =9 | ||
5 | =15 | ||
6 | =15 | ||
7 | =16 | ||
8 | =16 | ||
9 | =3000 | =10 | ai=bi |
10 | =3000 | ||
11 | =5000 | bi=ai+1 | |
12 | =5000 | ||
13 | =10000 | 无 | |
14 | =10000 | ||
15 | =20000 | ||
16 | =20000 | ||
17 | =30000 | ||
题解
对于排序问题考虑构造一种排序方式使得任意交换两个数不会更优。设两个大臣
i
,
j
,
a
1...
i
=
x
,
c
i
−
1
=
y
i,j,a_{1...i}=x,c_{i-1}=y
i,j,a1...i=x,ci−1=y,则要使:
m
a
x
(
y
+
b
i
+
b
i
+
1
,
x
+
a
i
+
b
i
,
x
+
a
i
+
a
i
+
1
+
b
i
+
1
)
≤
m
a
x
(
y
+
b
i
+
1
+
b
i
,
x
+
a
i
+
1
+
b
i
+
1
+
b
i
,
x
+
a
i
+
a
i
+
1
+
b
i
)
max(y+b_i+b_{i+1},x+a_i+b_i,x+a_i+a_{i+1}+b_i+1)\le max(y+b_i+1+b_i,x+a_{i+1}+b_i+1+b_i,x+a_i+a_{i+1}+b_i)
max(y+bi+bi+1,x+ai+bi,x+ai+ai+1+bi+1)≤max(y+bi+1+bi,x+ai+1+bi+1+bi,x+ai+ai+1+bi)
发现第一项是相同的,且完全可以忽略它(如果忽略后不满足不等式,那么交换后还满足原不等式)。
于是化简得:
m
i
n
(
a
i
,
b
j
)
≤
m
i
n
(
b
i
,
a
j
)
min(a_i,b_j)\le min(b_i,a_j)
min(ai,bj)≤min(bi,aj)。
直接按照这个排序会有问题,因为这不满足传递性,考虑将它划分成若干个可传递的范围:按照
a
,
b
a,b
a,b的大小先分一类,
a
<
b
a<b
a<b的一定在前,
a
>
b
a>b
a>b的一定在后,然后对于两边分别按照
a
a
a升序、
b
b
b降序排序即可。