您当前的位置: 首页 > 

先求一个导

暂无认证

  • 1浏览

    0关注

    291博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

dp学习 多重背包

先求一个导 发布时间:2022-04-23 22:36:14 ,浏览量:1

题目 题意: 模板题,多重背包。 思路: 1.朴素写法,cnt[i]个物品可以看作cnt[i]个一模一样的物品,当作01背包。 O(nmcnt) 2.二进制优化,原理是[0,n]之间的数可以用2的幂次和余项凑出,有点二进制的思想在里边。 在这里插入图片描述 在这里插入图片描述

时间复杂度: O(nmlog(cnt)) 代码:

#include
using namespace std;
const int N = 2002;
int n,m,k,T;
int v[N];
int w[N];
int cnt[N];
int f[N];
void solve()
{
	cin>>n>>m;
	for(int i=1;i>v[i]>>w[i]>>cnt[i];
	}
	for(int i=1;i=v[i]*res;--j)
		f[j] = max(f[j],f[j-v[i]*res]+w[i]*res);
	}
	cout            
关注
打赏
1662037414
查看更多评论
0.0344s