1034 ZJOI2008 泡泡堂 貪心

2022-09-14 16:27:22 字數 1318 閱讀 5167

第***x屆noi期間,為了加強各省選手之間的交流,組委會決定組織一場省際電子競技大賽,每乙個省的代表

隊由n名選手組成,比賽的專案是老少咸宜的網路遊戲泡泡堂。每一場比賽前,對陣雙方的教練向組委會提交乙份

參賽選手的名單,決定了選手上場的順序,一經確定,不得修改。比賽中,雙方的一號選手,二號選手……,n號

選手捉對廝殺,共進行n場比賽。每勝一場比賽得2分,平一場得1分,輸一場不得分。最終將雙方的單場得分相加

得出總分,總分高的隊伍晉級(總分相同抽籤決定)。作為浙江隊的領隊,你已經在事先將各省所有選手的泡泡堂水

平了解的一清二楚,並將其用乙個實力值來衡量。為簡化問題,我們假定選手在遊戲中完全不受任何外界因素干擾

,即實力強的選手一定可以戰勝實力弱的選手,而兩個實力相同的選手一定會戰平。由於完全不知道對手會使用何

種策略來確定出場順序,所以所有的隊伍都採取了這樣一種策略,就是完全隨機決定出場順序。當然你不想這樣不

明不白的進行比賽。你想事先了解一下在最好與最壞的情況下,浙江隊最終分別能得到多少分。

輸入的第一行為乙個整數n,表示每支代表隊的人數。接下來n行,每行乙個整數,描述了n位浙江隊的選手的

實力值。接下來n行,每行乙個整數,描述了你的對手的n位選手的實力值。 20%的資料中,1<=n<=10; 40%的數

據中,1<=n<=100; 60%的資料中,1<=n<=1000; 100%的資料中,1<=n<=100000,且所有選手的實力值在0到100

00000之間。

包括兩個用空格隔開的整數,分別表示浙江隊在最好與最壞的情況下分別能得多少分。不要在行末輸出多餘的

空白字元。21

3242 0

樣例說明

我們分別稱4位選手為a,b,c,d。則可能出現以下4種對戰方式,最好情況下可得2分,最壞情況下得0分。

一 二 三 四

浙江 ??? 結果 浙江 ??? 結果 浙江 ??? 結果 浙江 ??? 結果

一號選手 a c 負 a d 負 b c 勝 b d 負

二號選手 b d 負 b c 勝 a d 負 a c 負

總得分 0 2 2 0

若我方最強強於地方最強,則打

否則若我方最弱強於地方最弱,則打

否則用最弱的去換地方最強

1 #include2 #include3 #include4

using

namespace

std;

5intn;6

int fight(int a,intb)7

23}24return

ans;25}

26int

main()

27

BZOJ1034 ZJOI2008 泡泡堂 貪心

田忌賽馬。會做但是不會證明。把兩隊排序,從小到大一一比較,如果最小的能贏就贏,不能贏最大的能贏就贏,再不能就拿最小的去對最大的。一開始我沒有考慮最大的能贏就贏,直接犧牲最小的了,這樣做會把一些最小的能用平局得分的情況忽略了,得不到最優解。然後總得分是2n,所以第二個任務只要交換兩隊再跑一次上面的演算...

ZJOI2008 泡泡堂題解

一道博弈論貪心題 如下 213 242 06 10000000 10000000 10000000 10000000 10000000 1000000000 000012 12我們分別稱 4 位選手為 a,b,c,d 則可能出現以下 4 種對戰方式,最好情況下可得 2 分,最壞情況下得 0 分。浙江...

ZJOI2008 泡泡堂BNB 貪心

題意 傳送門 題解 算浙江省最多贏多少分,用田忌賽馬,算浙江省最少得多少分,另一方用田忌賽馬,然後用2 n ans即可,關於田忌賽馬這個貪心還是挺多坑的,想了很多才算過了。首先我們考慮的是我要贏更多,那麼我盡量虧對方,如果我的最快的馬比他的最快的馬快,那麼直接兩個最快的馬賽一場,肯定啊,我用最快的馬...