BZOJ4832抵制克蘇恩

2022-08-30 19:54:11 字數 704 閱讀 7078

我們是在從後往前推 ,即我們是在用當前局推上一局

i:表示還有i次沒打,a:表示上一局血量為1的還有多少個,b:2,c:3

f[i]中a,b,c考慮這一局和上一局比a,b,c的變化

double k=1/(1+a+b+c) //我們要轉移狀態選擇每乙個人物的概率(因為有乙個英雄,所以+1)

int tot=a+b+c;

f[i+1][a][b][c]+=(f[i][a][b][c]+1)*k;//攻擊英雄

if(a) f[i+1][a][b][c]+=f[i][a-1][b][c]*a*k;//攻擊血量為1的隨從,死亡

if(b)

if(c)

這就是期望dp的核心

嗯,也沒什麼好說的了,**:

#include#includeusing namespace std;

double f[60][10][10][10];

int t;

int read()

while(isdigit(ch)) num=(num<<3)+(num<<1)+(ch^48),ch=getchar();

return num*f;

}void work()

if(c)

}}int main()

return 0;

}

bzoj4832 抵制克蘇恩

傳送門 非爐石玩家表示不爽 顯然克蘇恩刀人只有四種選擇。刀英雄,刀一血奴隸主,刀二血奴隸主,刀三血奴隸主。顯然兩個同血奴隸主是等價。然後列舉克蘇恩刀誰,計算期望就行了。include include include include include include define inf 0x3f3f3...

bzoj 4832 抵制克蘇恩

time limit 1 sec memory limit 128 mb submit 441 solved 162 submit status discuss 小q同學現在沉迷爐石傳說不能自拔。他發現一張名為克蘇恩的牌很不公平。如果你不玩爐石傳說,不必擔心,小q 同學會告訴你所有相關的細節。爐石傳...

bzoj 4832 抵制克蘇恩 概率期望dp

考試時又翻車了.一定要及時調整自己的思路!隨從最多有7個,只有三種,所以把每一種隨從多開一維 so f i j k l 為到第i次攻擊前,場上有j個1血,k個2血,l個3血隨從的概率 最後利用期望的可加性都加起來就好了 ps.30滴血受到四五十傷害,完全tm不符合邏輯啊,mdzz!include i...