DTOJ 2746. 皇后遊戲(game)

題意

還記得 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

按照 123 這樣排列隊伍,獲得最多獎金的大臣獲得獎金的數目爲 10

按照 132 這樣排列隊伍,獲得最多獎金的大臣獲得獎金的數目爲 9

按照 213 這樣排列隊伍,獲得最多獎金的大臣獲得獎金的數目爲 9

按照 231 這樣排列隊伍,獲得最多獎金的大臣獲得獎金的數目爲 8

按照 312 這樣排列隊伍,獲得最多獎金的大臣獲得獎金的數目爲 9

按照 321 這樣排列隊伍,獲得最多獎金的大臣獲得獎金的數目爲 8

當按照 321 這樣排列隊伍時,三位大臣左右手的數分別爲:

(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,ja1...i=x,ci1=yi,j,a_{1...i}=x,c_{i-1}=y,則要使:
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)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)
發現第一項是相同的,且完全可以忽略它(如果忽略後不滿足不等式,那麼交換後還滿足原不等式)。
於是化簡得:min(ai,bj)min(bi,aj)min(a_i,b_j)\le min(b_i,a_j)
直接按照這個排序會有問題,因爲這不滿足傳遞性,考慮將它劃分成若干個可傳遞的範圍:按照a,ba,b的大小先分一類,a<ba<b的一定在前,a>ba>b的一定在後,然後對於兩邊分別按照aa升序、bb降序排序即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章