錦標賽 NOIP2016提高A組模擬7 17

2021-07-15 03:06:49 字數 1457 閱讀 7381

403機房最近決定舉行一場錦標賽。錦標賽共有n個人參加,共進行n-1輪。第一輪隨機挑選兩名選手進行決鬥,勝者進入下一輪的比賽,第二輪到第n-1輪再每輪隨機挑選1名選手與上一輪勝利的選手決鬥,最後只剩一輪選手。第i名選手與第j名選手決鬥,第i名選手勝利的概率是a[i][j].

作為一號選手的富欖想知道如何安排每輪出場的選手可以使得他獲勝的概率最大,並求出這個最大概率。

樣例輸入:

第乙個乙個整數n,表示參賽人數。

接下來n行,每行n個小數表示a[i][j]

保證滿足a[i][i]=0,a[i][j]+a[j][i]=1;

3 0.0 0.5 0.8

0.5 0.0 0.4

0.2 0.6 0.0

樣例輸出:

乙個小數,表示最大概率。與答案誤差不超過10^(-5) 即算正確。

0.6800000

資料範圍:

對於30%的資料,n<=10

對於60%的資料,n<=15

對於100%的資料,n<=18

剖解題目:

題目簡潔明瞭,我的語文水平已經無法剖解了。。。

看到資料範圍,n<=18,嗯,頃刻間想到了狀壓dp,然後看看題目,發現可以往下想。

確實是狀壓dp,但是在推的時候推著推著就跪了,因為正推發現下乙個狀態有win與lost兩種情況,然後推出狀態會增多,然後就炸了!

事實上,思路是正確的,只需要倒過來推便可以了。

設f[i][s]表示,在第i個人是winner時,剩下人狀態為s的最大獲勝概率,其中s為乙個二進位制數,1位表示這個人還沒死透,0表示這個人已經死透了。

那麼,倒過來推就有: fi

,s=m

ax(f

i,s−

2j∗a

i,j+

fj,s

−2i∗

aj,i

) 其中有s and 2j

==1 且s and 2i

==1且i!=j.

時間複雜度:o(

NOIP模擬 錦標賽

403機房最近決定舉行一場錦標賽。錦標賽共有n個人參加,共進行n 1輪。第一輪隨機挑選兩名選手進行決鬥,勝者進入下一輪的比賽,第二輪到第n 1輪再每輪隨機挑選1名選手與上一輪勝利的選手決鬥,最後只剩一輪選手。第i名選手與第j名選手決鬥,第i名選手勝利的概率是a i j 作為一號選手的富欖想知道如何安...

NOIP2016提高組總結

這次noip可以用幾個字來形容 浪的飛起,頹的不行。中午從校門出發,在車上睡了半個車程。4 00左右,霧比較大,遠處的小蠻腰若隱若現。你好,廣州。5 00,symbol叫我們去看考場,結果被拒在門外,然後大家都散了。我與其它幾位小夥伴匆匆吃完飯,回到酒店,該看電視看電視,中途開會,提醒我們一些注意事...

NOIP2016 提高組 總結

這是倒數第三次noip了。今年我初三。去年的傷痕還未褪去,我在比賽前意識到,當務之急其實是鞏固基礎而非深究一些難題。於是賽前兩周,我認真讀了白書的前面部分,尤其重點練習了dp。dp作為基礎演算法之一,其靈活性極高,所以可以出得很難,也是各種比賽的寵兒。練好dp是尤為重要的。賽前好幾場模擬賽都做得很爛...