hduoj 2955 01揹包變形,動態規劃

2021-08-20 19:28:08 字數 661 閱讀 8084

這道題關於概率的部分我理解了。

另一點就是轉化成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個位最公路的終點。已知每戶家庭都會向著遠離公...