HDU 2955 Roberies 揹包問題

2021-06-22 20:12:09 字數 453 閱讀 5975

疑問點:如何轉化成0-1揹包問題,有點不好理解,先打個大大的問號???

上限概率轉化為最小的安全概率即p=1-p; 被活捉的概率為pj,安全概率即為pj=1-pj;  定義的容量為m=sumv,對應的錢數為m1,m2,m3...,求最大的安全概率,且要求安全概率大於p;

#include #include #include #include #define  maxn 101

#define maxv 10001

using namespace std;

int cost[maxv];

double weight[maxv],d[maxv];

int main()

}//bool flag=false;

for(int i=sumv;i>=0;i--)}}

return 0;

}

hdu 2955 Robberies 01揹包變形

include include include include double f 10001 double maxn double maxs double a,double b int main for i m i 0 i if f i maxn 1e 12 break printf d n i r...

HDU 2955 Robberies 小數揹包

參考資料 題意 乙個人要去搶銀行,給定n個銀行各自的總存款和此人在這個銀行被抓的概率,求被抓概率小於p的情況下搶錢數的最大值。這裡可以轉化為0 1揹包問題。要點 1.概率給的是被抓概率,需要轉化為不被抓的概率。用1 p i 2.揹包容量不能是概率 小數 揹包容量應該為錢數總和。3.限制條件之間關係為...

hdu 2955 Robberies(揹包變形)

這道題麻煩的是概率這東西沒法用個迴圈表示出來,根據我以往的經驗,指望著把給出的測試資料乘上一百或者一萬這種方法是完全不可取的。乍一看,這道題目是拿概率當包,因為概率是浮點數,如果是想像普通揹包一樣處理,那是完全行不通的。但是把題目轉換一下,題目給出的概率是被抓的概率,我們可以把所有銀行能搶的錢的總和...