ybtoj背包问题课堂过关DP例题3宝物筛选

Posted SSL_ZZL

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ybtoj背包问题课堂过关DP例题3宝物筛选相关的知识,希望对你有一定的参考价值。

【例题3】宝物筛选


Link

ybtoj 【背包问题课堂过关】【例题3】宝物筛选
题面//因为不知道侵不侵权所以就是题面是私密的,有账号的直接看转送门就可了


题目大意

给你几种物品,每种物品有价值费用和个数。
然后你要在费用不要过 W 的情况下,让你选的物品价值总和尽可能大。
输出这个最大价值。


解题思路

模板多重背包
多重背包 = 很多个01背包qwq
luogu的需要加队列优化,ybtoj的数据水到暴力就能过…


Code

#include <iostream> 
#include <cstdio>

using namespace std;

int t, n, w[1100], v[1100], f[11000], m[110000];

int main() {
	scanf("%d %d", &n, &t);
	for(int i = 1; i <= n; i++)
		scanf("%d %d %d", &v[i], &w[i], &m[i]);
	for(int i = 1; i <= n; i++)
		for(int j = t; j; j--)
			for(int k = 1; k <= m[i] && j >= w[i] * k; k++)  
					f[j] = max(f[j], f[j - w[i] * k] + v[i] * k);
	printf("%d", f[t]);
}

以上是关于ybtoj背包问题课堂过关DP例题3宝物筛选的主要内容,如果未能解决你的问题,请参考以下文章

luogu P5020ybtoj背包问题课堂过关DP例题2货币系统 & NOIP2018 提高组货币系统

Ybtoj 树形DP课堂过关例题3最长距离

luogu UVA10559 ybtoj 区间DP课堂过关 例题3消除木块 & 方块消除 Blocks

ybtoj 树形DP课堂过关例题2结点覆盖

luogu P4170ybtoj 区间DP课堂过关 例题2木板涂色 & [CQOI2007]涂色

luogu P1352ybtoj 树形DP课堂过关 例题1树上求和 & 没有上司的舞会