給出物品數量n和總錢數m
對於n個物品。每乙個物品有其花費p[i], 特殊值q[i],價值v[i]
q[i] 表示當手中剩餘的錢數大於q[i]時,才幹夠買這個物品
首先對n個物品進行 q-p的排序,表示差額最小的為最優。優先考慮放入這個物品
然後01揹包計算
#include "stdio.h"
#include "string.h"
#include "algorithm"
using namespace std;
int inf=0x3f3f3f3f;
struct node
a[510];
int dp[5010];
int max(int a,int b)
ans=0;
for (i=0;i<=m;i++)
ans=max(ans,dp[i]);
printf("%d\n",ans);
}}
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型 求劫匪最多能搶多少錢 思路 由於代價 被抓概率 是浮點型且不能直接相加,所以不能以代價為揹包。這個題目可以以獲得的價值 即搶到的錢數 為揹包,求搶到一定錢時逃跑的概率 雖然搶到的錢數不是連...
飯卡 HDU 2546 01揹包變形
題意 對於飯卡裡的餘額,如果少於5元,那麼不能買任何東西,5元,可以買任意乙個東西,甚至讓飯卡的餘額變成負的。現在已知飯卡的餘額m,n種菜的 思路 最貴的那個肯定最後買,讓n 1個菜盡量接近5就可以。01揹包的變形,在n 1個物品中抽取任意個,使得所花的錢盡可能接近m 5。讓價值和體積相等。求出體積...