2 条题解

  • 1
    @ 2023-1-13 13:34:55

    板子

    #include <iostream>
    #include <stack>
    #include <cmath>
    #include <vector>
    #include <string.h>
    #include <queue>
    #include <stdio.h>
    #include <iomanip>
    #include <cstdio>
    #include <algorithm>
    #define LL long long
    #define double long double
    using namespace std;
    const int N = 1e5 + 10;
    const int INF = 0x3f3f3f3f;
    int n, m, v[N], w[N], dp[N];
    signed main()
    {
    	cin >> n >> m;
    	for(int i = 1; i <= m; i++)
    	{
    		cin >> v[i] >> w[i];
    	}
    	for(int i = 1; i <= m; i++)
    	{
    		for(int j = n; j >= v[i]; j--)
    		{
    			dp[j] = max(dp[j], dp[j - v[i]] + v[i] * w[i]);
    		}
    	}
    	cout << dp[n] << endl;
    	return 0;
    }
    
    • -1
      @ 2025-3-22 15:51:20

      #include #include #include using namespace std;

      int n, m; int v[25], p[25]; int f[30005];

      int main() { cin >> n >> m; for (int i = 1; i <= m; ++i) { cin >> v[i] >> p[i]; p[i] *= v[i]; }

      for (int i = 1; i <= m; ++i) {
          for (int j = n; j >= v[i]; --j) {
              f[j] = max(f[j], f[j - v[i]] + p[i]);
          }
      }
      
      cout << f[n] << endl;
      
      return 0;
      

      }

      • 1

      信息

      ID
      685
      时间
      1000ms
      内存
      256MiB
      难度
      5
      标签
      递交数
      180
      已通过
      76
      上传者