HNOI2015 期望dp 亞瑟王

2021-09-27 02:52:48 字數 2354 閱讀 9099

【描述】

小 k 不慎被 ll 邪教**了,**程度深到他甚至想要從亞瑟王邪教中脫坑。

他決定,在脫坑之前,最後再來打一盤亞瑟王。既然是最後一戰,就一定要打得漂 亮。眾所周知,亞瑟王是乙個看臉的遊戲,技能的發動都是看概率的。作為乙個非 洲人,同時作為乙個前 oier,小 k 自然是希望最大化造成傷害的期望值。但他已 經多年沒寫過**,連 spaly都敲不對了,因此,希望你能幫幫小 k,讓他感受一 下當歐洲人是怎樣的體驗。

本題中我們將考慮遊戲的乙個簡化版模型。

玩家有一套卡牌,共 n張。遊戲時,玩家將 n 張卡牌排列成某種順序,排列後 將卡牌按從前往後依次編號為 1 ~ n。本題中,順序已經確定,即為輸入的順序。 每張卡牌都有乙個技能。第 i 張卡牌的技能發動概率為 pi,如果成功發動,則會對 敵方造成di點傷害。也只有通過發動技能,卡牌才能對敵方造成傷害。基於現實因 素以及小k非洲血統的考慮,pi不會為 0,也不會為 1,即 0 < pi < 1。

一局遊戲一共有 r 輪。在每一輪中,系統將從第一張卡牌開始,按照順序依次 考慮每張卡牌。在一輪中,對於依次考慮的每一張卡牌:

1如果這張卡牌在這一局遊戲中已經發動過技能,則

1.1 如果這張卡牌不是最後一張,則跳過之(考慮下一張卡牌);

否則(是最後一張),結束這一輪遊戲。

2否則(這張卡牌在這一局遊戲中沒有發動過技能),設這張卡牌為第 i 張

2.1將其以 pi的概率發動技能。

2.2如果技能發動,則對敵方造成 di點傷害,並結束這一輪。

2.3如果這張卡牌已經是最後一張(即 i 等於n),則結束這一輪;否則,考慮下一張卡牌。

請幫助小 k 求出這一套卡牌在一局遊戲中能造成的傷害的期望值。

【輸入】

輸入檔案的第一行包含乙個整數 t,代表測試資料組數。

接下來一共 t 組資料。

每組資料的第一行包含兩個用空格分開的整數 n和r,分別代表卡牌的張數和遊戲的輪數。

接下來 n行,每行包含乙個實數和乙個整數,由空格隔開,描述一張卡牌。第i 行的兩個數為 pi和 di,分別代表第 i 張卡牌技能發動的概率(實數)和技能發動造成的傷害(整數)。保證 pi最多包含 4位小數,且為乙個合法的概率。

【輸出】

對於每組資料,輸出一行,包含乙個實數,為這套卡牌在這一局遊戲中造成的

傷害的期望值。對於每一行輸出,只有當你的輸出和標準答案的相對誤差不超過 10^-8時——即|a-o|/a<=10-8時(其中a是標準答案,o是輸出),你的輸出才會被判為正確。 建議輸出10 位小數。

這道題難度在於把題讀懂。 根據期望的線性性,每張牌的期望傷害之和就是總的期望傷害,所以我們就需要算出每張牌在r輪中被打出來的概率。這只與在它們之前的牌有關。一共只有r輪,所以前面的牌打出了幾張決定了當前牌可以嘗試打出的次數。所以定義f[i

][j]

f[i][j]

f[i][j

]表示前i張牌,打出了j張牌的概率。考慮第i張牌有沒有打出來,轉移顯而易見:

f [i

][j]

=f[i

−1][

j−1]

∗(1−

(1−p

i)m−

j+1)

+f[i

−1][

j]∗(

1−pi

)m−j

f[i][j]=f[i-1][j-1]*(1-(1-p_i)^)+f[i-1][j]*(1-p_i)^

f[i][j

]=f[

i−1]

[j−1

]∗(1

−(1−

pi​)

m−j+

1)+f

[i−1

][j]

∗(1−

pi​)

m−j計算出這個以後,計算答案就很好辦了,列舉前面的牌的每種情況,計算當前牌這種情況下的打出的概率然後計算貢獻即可。

**:

#include

#define re register

using

namespace std;

const

int n=

1e5+5;

inline

intred()

int n,m,a,b,c;

double f[

251]

[151

],p[

251]

,d[251];

inline

double

ksm(

double a,

int b)

return ret;

}int

main()

}

HNOI2015 亞瑟王 期望DP

也許更好的閱讀體驗 mathcal 給出 n 個技能,每個技能按輸入順序有 p i 的概率釋放並造成 d i 的傷害。每輪遊戲從前往後順序檢視每個技能,若技能發動過則跳過,沒發動過則以 p i 的技能發動,即每個技能只能發動一次,若將乙個技能發動,則進行下一輪遊戲,沒有成功發動或被跳過就檢視下乙個技...

HNOI2015 亞瑟王(概率dp)

題面太長了就不複製了,傳送門 一道做了還是很懵逼的題目,感覺以後碰到類似的還是不會,果然hnoi題目很皮。題解傳送 補充一下吧。感覺他的部落格已經寫得很好了.orz 需要的可以兩邊一起看 1.期望的線性性質 e x y e x e y x,y 是兩個不同的事件 e kx ke x k為常數 2.單獨...

遊走 HNOI2013 期望Dp 高斯消元

vjudge 乙個無向連通圖,頂點從1編號到n,邊從1編號到m。小z在該圖上進行隨機遊走,初始時小z在1號頂點,每一步小z以相等的概率隨機選 擇當前頂點的某條邊,沿著這條邊走到下乙個頂點,獲得等於這條邊的編號的分數。當小z 到達n號頂點時遊走結束,總分為所有獲得的分數之和。現在,請你對這m條邊進行編...