[计蒜客(蓝桥杯省赛)]蒜头君的购物袋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;
}
posted @ 2022-05-16 16:10  俺叫西西弗斯  阅读(0)  评论(0)    收藏  举报  来源