hdu 2546 01背包(从一堆物品中尽可能组成接近给定重量的方案)
2017-04-19 13:00
218 查看
#include<cstdio> #include<cstring> #include<algorithm> #define MAX(x,y) ((x)>(y)?(x):(y)) #define MIN(x,y) ((x)>(y)?(y):(x)) using namespace std; int dp[1010]; int c[1010]; int main() { int n,col; while(~scanf("%d",&n)&&n) { memset(dp,0,sizeof(dp)); for(int i=1;i<=n;i++) scanf("%d",&c[i]); scanf("%d",&col); if(col<5) printf("%d\n",col); else { sort(c+1,c+1+n); for(int i=1;i<=n-1;i++) { for(int j=col-5;j>=c[i];j--) { dp[j]=MAX(dp[j],dp[j-c[i]]+c[i]); } } printf("%d\n",col-c -dp[col-5]); } } }
相关文章推荐
- HDU 2546 饭卡(01背包) 解题报告
- HDU 2546 饭卡(01背包) 解题报告
- hdu 2546(01背包)
- hdu 2546 饭卡 01背包
- HDU 2546 饭卡 01背包+贪心
- HDU 2546 饭卡【01背包】
- hdu 2546 饭卡(有小小限制的 01背包)
- hdu 2546 饭卡【贪心+01背包基础题】
- hdu 2546 饭卡 (01背包)
- 任意给定一个自然数N,要求M是N的倍数,且他的所有各位数字都是由0或1组成,并要求M尽可能小
- 饭卡----HDU_2546----01背包问题
- hdu 2546 +hdu 3466 (01背包问题)
- HDU 2546 01背包,可达性问题 hash思想
- hdu 2546 典型01背包
- HDU 2546 饭卡(01背包)
- HDU 2546 饭卡(01背包) 解题报告
- hdu 2546 饭卡 换了问法的01背包
- HDU 2546 饭卡(01背包)
- hdu 2546 饭卡(01背包)
- HDU-2546-饭卡-01背包-2014-04-28 12:44:06