设为首页 加入收藏

TOP

BZOJ 1531 POI2005 Bank notes 多重背包
2015-07-24 05:03:13 来源: 作者: 【 】 浏览:4
Tags:BZOJ 1531 POI2005 Bank notes 多重 背包

题目大意:多重背包

一大早就水了个题233

#include 
  
   
#include 
   
     #include 
    
      #include 
     
       #define M 20200 using namespace std; int n,k,b[220],c[220]; int f[M]; int main() { int i,j,k; cin>>n; for(i=1;i<=n;i++) scanf("%d",&b[i]); for(i=1;i<=n;i++) scanf("%d",&c[i]); cin>>::k; memset(f,0x3f,sizeof f); f[0]=0; for(i=1;i<=n;i++) { for(j=1;j<=c[i];j<<=1) { for(k=::k;k>=b[i]*j;k--) f[k]=min(f[k],f[k-b[i]*j]+j); c[i]-=j; } if(!c[i]) continue; j=c[i]; for(k=::k;k>=b[i]*j;k--) f[k]=min(f[k],f[k-b[i]*j]+j); } cout<
      
       

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇简单好用的小控件 ------UISwitch.. 下一篇hdu5188 加限制的01背包问题

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: