3 条题解

  • 9
    @ 2022-12-11 17:46:41
    #include <bits/stdc++.h>
    #define ll long long
    #define I inline
    #define N 45
    using namespace std;
    int n , m;
    int g[5];
    ll a[10001];
    ll ans = 0;
    ll f[N][N][N][N];
    int main()
    {
        cin >> n >> m;
        for(int i = 1; i <= n; i ++)
        {
            cin >> a[i];
        }
        int num = 0;
        for(int i = 1; i <= m; i ++)
        {
            cin >> num;
            g[num] ++;
        }
        f[0][0][0][0] = a[1];
        for(int i = 0; i <= g[1]; i ++)
        {
            for(int j = 0; j <= g[2]; j ++)
            {
                for(int k = 0; k <= g[3]; k ++)
                {
                    for(int l = 0; l <= g[4]; l ++)
                    {
                        int len = 1 + i + 2 * j + 3 * k + 4 * l;
                        if(i != 0)
                        {
                            f[i][j][k][l] = max(f[i][j][k][l] , f[i - 1][j][k][l] + a[len]);
                        }
                        if(j != 0)
                        {
                            f[i][j][k][l] = max(f[i][j][k][l] , f[i][j - 1][k][l] + a[len]);
                        }
                        if(k != 0)
                        {
                            f[i][j][k][l] = max(f[i][j][k][l] , f[i][j][k - 1][l] + a[len]);
                        }
                        if(l != 0)
                        {
                            f[i][j][k][l] = max(f[i][j][k][l] , f[i][j][k][l - 1] + a[len]);
                        }
                    }
                }
            }
        }
        cout << f[g[1]][g[2]][g[3]][g[4]] << "\n";
        return 0;
    }
    
    • 0
      @ 2023-11-7 20:33:35
      #include <iostream>
      using namespace std;
      const int N = 50;
      int w[1000], f[N][N][N][N];
      int n, m, x, cnt1, cnt2, cnt3, cnt4;
      int main()
      {
          cin >> n >> m;
          for (int i = 1; i <= n; i++) cin >> w[i]; 
          for (int i = 0; i < m; i++)
          {
              cin >> x;
              if(x == 1) cnt1++;
              if(x == 2) cnt2++;
              if(x == 3) cnt3++;
              if(x == 4) cnt4++;
          }
          f[0][0][0][0] = w[1];
          for (int i = 0; i <= cnt1; i++)
          {
              for (int j = 0; j <= cnt2; j++)
              {
                  for (int k = 0; k <= cnt3; k++)
                  {
                      for (int l = 0; l <= cnt4; l++)
                      {
                          int s = i * 1 + j * 2 + k * 3 + l * 4 + 1;
                          if (i)
                              f[i][j][k][l] = max(f[i][j][k][l], f[i - 1][j][k][l] + w[s]);
                          if (j)
                              f[i][j][k][l] = max(f[i][j][k][l], f[i][j - 1][k][l] + w[s]);
                          if (k)
                              f[i][j][k][l] = max(f[i][j][k][l], f[i][j][k - 1][l] + w[s]);
                          if (l)
                              f[i][j][k][l] = max(f[i][j][k][l], f[i][j][k][l - 1] + w[s]);
                      }
                  }
              }
          }
          cout << f[cnt1][cnt2][cnt3][cnt4];
          return 0;
      
      }
      
      • -3
        @ 2022-4-24 18:57:42

        写题解请注意

        鼓励大家写题解,但注意题解格式。

        题解一定要有思路解析或代码注释,能否让别人理解你的思路

        也是你的能力的检验,不要只放无意义的代码给大家复制,那就失去了做题的初心。

        给代码两端加上这个会舒服一些

        ```cpp

        你的代码

        ```

        </span>

        这个点在键盘的左上角tab上面那个键,注意切换输入法

        #include<iostream>
        using namespace std;
        int main()
        {
            int n;
            cin>>n;//这是一个注释
            return 0;
        } 
        

        请注意严禁抄袭题解,写题解不要只放代码,需加上你的思路或代码注释。

        抄袭题解一经发现直接取消成绩。

        题解被删除的可能

        1. 代码不符合格式规范
        2. 没有思路讲解或者没有注释,
        3. 无意义的题解

        大家携手共同维护一个良好的编程环境,如果一经发现,多次作乱。可能会被管理员拉黑,请注意,一旦拉黑即失去登陆资格。

        • 1

        信息

        ID
        777
        时间
        1000ms
        内存
        128MiB
        难度
        4
        标签
        递交数
        117
        已通过
        56
        上传者