[计蒜客(蓝桥杯省赛)]蒜头君的购物袋2 原创
题目来源 计蒜客程序设计竞赛基础课(蓝桥杯省赛)
算法标签 DP
题目描述

思路
01背包模板
题目代码
#include<iostream>
#include<climits>
using namespace std;
const int N=110;
const int GN=1010;
int dp[N][GN];//二维忘开打了 结果出现了4的偏差 服
int v[N],imp[N];//V体积 IMP重要
int main()
{
int sumv,n;
cin>>sumv>>n;
for(int i=1;i<=n;i++)cin>>v[i]>>imp[i];
for(int i=1;i<=n;i++)
for(int j=1;j<=sumv;j++)
{
if(j<v[i])dp[i][j]=dp[i-1][j];
else dp[i][j]=max(dp[i-1][j],dp[i-1][j-v[i]]+imp[i]);//状态转移方程
}
int ans=INT_MIN;
for(int j=1;j<=sumv;j++)ans=max(ans,dp[n][j]);
cout<<ans;
return 0;
}

浙公网安备 33010602011771号