hdu 1864 最大報銷額 01揹包

2021-06-25 14:29:55 字數 584 閱讀 8763

此題 為01揹包,可以把最大金額當做揹包容量,然後把發票的金額當做揹包的容量和價值;則成了簡單的01揹包;

我做此題,錯了n次,究其原因我是把p>60000寫成了p>100000;

#include

#include

#include

#include

#include

using namespace std;

#define maxn 7777777+10

int p[90];

double q;

int n;

int m;

int dp[maxn];

bool flag;

int main()

if(sum>100000)

flag=true;

if(flag)

continue;

for(j=num;j>=sum;j--)

dp[j]=max(dp[j],dp[j-sum]+sum);

}printf("%d.%02d\n",dp[num]/100,dp[num]%100);

}return 0;

}

hdu 1864最大報銷額 01揹包

當成0 1揹包來做的 思路,先轉化成整數,擴大100倍,首先刪除不符合條件的,然後01揹包 提交情況 memory limit exceed 1次,一開始擴大了1000倍,不過我感覺還是應該擴大1000倍。收穫 printf 0.2lf n double dp int all 100 100 中如果...

01揹包 HDU 1864 最大報銷額

轉化為整數擴大100倍處理 為賦值抑制字元,表示本輸入項對應的資料 讀入後,不賦給相應的變數 如 scanf 2d 2d 3d a,b printf d n d n a,b 輸入123456789 則系統將讀取12並賦給a 讀取34但捨掉 讀取567並賦給b 所以a 12 b 567 處理好輸入後,...

HDU 1864 最大報銷額(01揹包)

思路 01揹包 只有abc類能報銷,有別的種類也不能報銷,單類的物品不能超過600,超過也不能報銷,擴大100倍算的,直接小數有點麻煩,主要思想是tianyi cui大神寫的揹包九講,本部落格演算法精講類有,寫一下我認為最難的吧,就是用一維陣列做01揹包,揹包的容量是從大到小迴圈的,之所以這樣做就是...