Coins  HDU 2844

不能用最基础的多重背包模板:会超时的!!!

之后看了二进制优化了的多重背包。

就是把多重转变成01背包:

具体思路见:http://www.cnblogs.com/tt123/p/3280521.html

 #include<iostream>
#include<algorithm>
#include<stdio.h>
#include<string.h>
using namespace std;
int dp[],a1[],a[],b[];
int main()
{
int n,m,i,j,k,s,cout1;
while(scanf("%d%d",&n,&m)!=EOF)
{
if(n==&&m==)
break;
for(i=;i<n;i++)
scanf("%d",&a[i]);
for(i=;i<n;i++)
scanf("%d",&b[i]);
cout1=;
for(i=;i<n;i++)
{
for(k=;k<=b[i];k<<=)
{
a1[cout1++]=k*a[i];
b[i]-=k;
}
if(b[i]>)
a1[cout1++]=b[i]*a[i];
}
memset(dp,,sizeof(dp));
for(i=;i<cout1;i++)
for(j=m;j>=a1[i];j--)
dp[j]=max(dp[j],dp[j-a1[i]]+a1[i]);
s=;
for(i=;i<=m;i++)
if(dp[i]==i)
s++;
printf("%d\n",s);
}
return ;
}

最新文章

  1. 代码生成工具——Entity Framework Power Tools
  2. Unique Paths II
  3. E:Package &#39;Vim&#39; has no installation candidate问题解决
  4. nenu contest3
  5. bzoj1832: [AHOI2008]聚会
  6. adb shell - device not found
  7. Android 短信模块分析(四) MMS之短信的发送与接收
  8. [Mark] KVM 虚拟化基本原理
  9. 此博客停止更新,请访问chenshuo.net
  10. cocos2dx 中文路径编译错误记录
  11. CRM客户关系管理系统(二)
  12. 动手实现一个vue中的模态对话框组件
  13. Android 手势检测实战 打造支持缩放平移的图片预览效果(下)
  14. Python3学习笔记 - day1
  15. Windows查看端口被什么进程占用的简单方法----菜鸟养成
  16. CM记录-Hadoop 分布式文件系统HDFS(登录、配置、监控)
  17. Problem E: 编写函数:Swap (I) (Append Code)
  18. linux c select函数使用求解释
  19. 【数据库】Eclipse连接MySQL数据库
  20. U33405 纽约

热门文章

  1. 2016-07-15: Window定时器使用
  2. 【MySQL】InnoDB: Error: checksum mismatch in data file 报错
  3. hadoop单机and集群模式安装
  4. socket笔记
  5. css3弹性盒子模型
  6. C++ dll 通用dll编写
  7. Android菜鸟成长记3-activity类
  8. Activity生命周期(一) 暨 帮助文档的使用
  9. HDU 4578 Transformation (线段树区间多种更新)
  10. Servlet实现定时刷新到另外一个页面response.setHeader(&quot;refresh&quot;, &quot;3;url=/...&quot;)