如何讓金明開心?

题目->添加链接描述

#include<bits/stdc++.h>
#define re register
using namespace std;

int n, m;

signed main(){
	scanf("%d%d", &n, &m);
	int v[m + 1] = {0}, w[m + 1] = {0}, dp[n + 1] = {0};
//	dp[i][j] i:第i个物品,j:剩下的价格,dp:v[]*w[] 
//	=> dp[j] j:剩下的价格,dp:v[]*w[] 
	for(re int i = 1; i <= m; i++) scanf("%d%d", &v[i], &w[i]);

插入一则模板:

for(re int i = 1; i <= n; i++)
  for(re int j = W; j >= w[i]; j--)
    dp[j] = max(dp[j], dp[j-w[i]] + val[i]);

=>(套模板)

for(re int i = 1; i <= m; i++)
		for(re int j = n; j >= v[i]; j--)
			dp[j] = max(dp[j], dp[j - v[i]] + v[i] * w[i]);
	printf("%d\n", dp[n]);
	fclose(stdin), fclose(stdout);
}

//蒻蒻真的弱 (。・・)ノ

发布了13 篇原创文章 · 获赞 10 · 访问量 236

猜你喜欢

转载自blog.csdn.net/weixin_45740176/article/details/104865776