重述題意:卡牌有發動概率和傷害,每張卡牌只發動一次,按順序遍歷,給出輪數,求傷害期望。
神思路啊……我的腦子基本想不出來……
如果說正面剛,剛一天也剛不掉,我們換個思路,用f[i][j]表示第i張卡被遍歷j次的概率。
這個概率可以分為兩部分:
1、第i-1張卡被遍歷j次且一直沒發動。這一段公式為f[i-1][j]*(1-p[i-1])j。其中,p[i]表示第i張卡發動的概率。
2、第i-1張卡被遍歷j+1次但已發動。這一段公式為f[i-1][j+1]*(1-(1-p[i-1])j)(至少發動一次的概率)。
那麼,f[i][j]就是這兩部分的和。
問題來了,一直在求概率,要求的期望呢?其實f[i][j]對期望的貢獻,是遍歷j次且發動了的概率與傷害的乘積,也就是f[i][j]*(1-(1-p[i])j)*d[i],其中d[i]為第i張卡的傷害。
1 #include2 #include3 #include4 #include5 #include6bzoj 4004using
namespace
std;
7 typedef long
double
llf;
8const
int maxn=225,maxr=135;9
llf f[maxn][maxr],ans;
10double
p[maxn];
11int
n,r,d[maxn];
12int
haha()
1329 printf("
%0.10lf\n
",(double
) ans);
30 ans=0;31
}32}33
int sb=haha();
34int main()
BZOJ 4008 亞瑟王 概率DP 奧妙重重
題意 中文題面,就不解釋了 分析顯然這道題直接求期望太麻煩,想想轉化問題 這轉化太神了 定義f i,j f i,j 表示第i i張卡總共被經過j j次的概率,有轉移方程式f i,j f i 1,j 1 pi 1 j f i 1,j 1 1 1 pi 1 j 1 f i,j f i 1,j 1 pi ...
概率 亞瑟王
題目描述 小 k 不慎被 ll 邪教 了,程度深到他甚至想要從亞瑟王邪教中脫坑。他決定,在脫坑之前,最後再來打一盤亞瑟王。既然是最後一戰,就一定要打得漂亮。眾所周知,亞瑟王是乙個看臉的遊戲,技能的發動都是看概率的。作為乙個非洲人,同時作為乙個前 oier,小 k 自然是希望最大化造成傷害的期望值。但...
HNOI2015 亞瑟王(概率dp)
題面太長了就不複製了,傳送門 一道做了還是很懵逼的題目,感覺以後碰到類似的還是不會,果然hnoi題目很皮。題解傳送 補充一下吧。感覺他的部落格已經寫得很好了.orz 需要的可以兩邊一起看 1.期望的線性性質 e x y e x e y x,y 是兩個不同的事件 e kx ke x k為常數 2.單獨...