這道題關於概率的部分我理解了。
另一點就是轉化成01揹包的問題。
我是這麼想的。
01揹包dp時是求在一定容量下的最大價值。
這道題dp時是求獲得一定金錢時的最大逃跑概率。
感覺和01揹包還是有一點差別。雖然**寫起來很像。
先記錄在這裡。希望有一天能夠徹底的理解這個問題。
附上**。
#include #include int money[101];
float risk[101];
float dp[10001];
int main()
/*關於概率計算
題目中給出的是偷竊每家銀行被抓的概率
要求的是整體被抓的概率
只要偷一家銀行時被抓 就是被抓了 有多種情況 都列出來很麻煩
因此可以換乙個角度考慮
不被抓只有一種情況,就是偷所有的銀行都不被抓 求出這個概率
再用1減去這個概率 就是整體被抓的概率
*/memset(dp, 0, sizeof(dp));
dp[0] = 1;
for (i = 1; i <= n; i++)
for (i = sum; i >= 0; i--)
} }return 0;
}
HDU2955 01 揹包變形
dp i j 表示從前 i 家銀行中搶劫某些家,得到 j 價值 而不被抓住的概率。dp j max dp j dp j val i 1 w i 將全部銀行的錢當做揹包的最大體積 那麼每家銀行的錢則當做物品的體積 那麼被抓的概率當做物品的價值 那麼便容易推出我們所需要的動態方程 dp i max dp...
hdu 2955 0 1揹包變形
題目大意 劫匪搶銀行,要求被抓概率小於p。共有n個銀行,第i個銀行錢數為m i 被抓概率為p i float型 求劫匪最多能搶多少錢 思路 由於代價 被抓概率 是浮點型且不能直接相加,所以不能以代價為揹包。這個題目可以以獲得的價值 即搶到的錢數 為揹包,求搶到一定錢時逃跑的概率 雖然搶到的錢數不是連...
揹包變形 思路
居民集會 藍橋村的居民都生活在一條公路的邊上,公路的長度為l,每戶家庭的位置都用這戶家庭到公路的起點的距離來計算,第i戶家庭距起點的距離為di。每年,藍橋村都要舉行一次集會。今年,由於村里的人口太多,村委會決定要在4個地方舉行集會,其中3個位於公路中間,1個位最公路的終點。已知每戶家庭都會向著遠離公...