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