多重背包

有 n种物品 一共有 m大小的背包,每种物品的价值 大小 个数 为 s[i],v[i],num[i];

#include<bits/stdc++.h>//cmhao
#define N 100000
using namespace std;
int a[N];
int n,m,cut;
int s[N],v[N];
void change(int tj,int jz,int sl)
{
int q=1,x,y;
while(sl)
{
if(sl%2)
{
cut++;
x=tj*q;
y=jz*q;
s[cut]=y;
v[cut]=x;
}
q*=2;
sl/=2;
}
}
int main()
{
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++)
{
int tj,jz,sl;
scanf("%d%d%d",&tj,&jz,&sl);
change(tj,jz,sl);
}
for(int i=1;i<=cut;i++)
for(int j=m;j>=v[i];j--)
a[j]=max(a[j],a[j-v[i]]+s[i]);
printf("%d",a[m]);
return 0;
}

最新文章

  1. C#委托异步调用
  2. java工具类之Graphics
  3. 【原】理解javascript中的闭包
  4. HTML5&amp;CSS3经典动态表格
  5. 省赛13 Alice and Bob(二进制,找规律)
  6. 跨域名设置cookie或获取cookie
  7. 李洪强iOS开发之-cocopods安装
  8. ajaxFileUpload+struts2多文件上传(动态添加文件上传框)
  9. DoTween基本使用
  10. java thread 线程锁同步,锁,通信
  11. git项目初始化
  12. html5+ 原生标题栏添加input 输入框
  13. 深度学习与NLP简单应用
  14. 来自极客头条的 15个常用的javaScript正则表达式
  15. 【python004-分支循环】
  16. queue模拟
  17. AE IRasterCursor 获取栅格图层像素值
  18. Markdown使用github风格时报TLS错误解决办法
  19. pyqt5简单登陆界面
  20. Lucene介绍及简单入门案例(集成ik分词器)

热门文章

  1. 011.Ansible条件语句
  2. jmeter while控制器踩坑
  3. linux进阶之网络技术管理
  4. HEX与ASCII之间装换
  5. 【ArcGIS遇上Python】ArcGIS Python批处理入门到精通实用教程目录
  6. openssl自签发证书
  7. kotlin知识点
  8. 27.Qt Quick QML-State、Transition
  9. JDK8中Stream使用解析
  10. CountDownLatch原理详解