【题解】 hdu2955 Robberies
生活随笔
收集整理的這篇文章主要介紹了
【题解】 hdu2955 Robberies
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
有抱負的羅伊·劫匪已經看過很多美國電影,他知道壞人通常會被抓住,經常是因為他們太貪心了。他決定在銀行搶劫案中工作一段時間,然后退休后到一所大學從事一份舒適的工作。
題目:
羅伊去幾個銀行偷盜,他既想多投點錢,又想盡量不被抓到。已知各個銀行的金錢數和被抓的概率,以及羅伊能容忍的最大被抓概率。求他最多能偷到多少錢?
思路:
背包問題
- 原先想的是把概率當做背包,在這個范圍內最多能搶多少錢。
但是問題出在概率這里,一是因為概率是浮點數,用作背包必須擴大10^n倍來用。二是最大不被抓概率不是簡單的累加。二是p = (1-p1)(1-p2)(1-p3) 其中p為最大不被抓概率,p1,p2,p3為各個銀行被抓概率。
可行性上行不通
-
第二次想到把銀行的錢當做背包,把概率當做價值,總容量為所有銀行的總錢數,求不超過被抓
概率的情況下,最大的背包容量是多少
dp[j] = max(dp[j],dp[j-Bag[i].v]*(1-Bag[i].p))(dp[j]表示在被搶概率j之下能搶的錢);代碼
轉載于:https://www.cnblogs.com/bbqub/p/hdu_2955.html
總結
以上是生活随笔為你收集整理的【题解】 hdu2955 Robberies的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 土耳其航空452号班机注册号?
- 下一篇: 【BZOJ1010】【HNOI2008】