2 条题解

  • 0
    @ 2025-10-8 16:56:52
    #include<bits/stdc++.h>
    using namespace std;
    struct node{int l,r;}a[201];
    int f[201][201];
    int main()
    {
        int n;scanf("%d", &n);
        for(int i=1;i<=n;i++)scanf("%d", &a[i].l);
        for(int i=1;i<=n-1;i++)a[i].r=a[i+1].l;
        a[n].r=a[1].l;
         
        for(int i=1;i<=2*n;i++) a[i+n]=a[i];
        
        for(int i=1;i<=2*n;i++) f[i][i]=0;
        for(int L=2;L<=n;L++)
            for(int st=1;st<=2*n-L+1;st++)
    		{
                int ed=st+L-1;
                f[st][ed]=0;
                for(int k=st;k<ed;k++)
                    f[st][ed]=max(f[st][ed], f[st][k]+f[k+1][ed]+a[st].l*a[k].r*a[ed].r);
                                                             //+a[st].l*a[k+1].l*a[ed].r
            }
        int ans=0;
        for(int i=1;i<=n;i++)ans=max(ans, f[i][i+n-1]);
        printf("%d\n", ans);
        return 0;
    }
    
    • 0
      @ 2025-10-8 16:56:41
      #include<bits/stdc++.h>
      using namespace std;
      struct node{int l,r;}a[201];
      int f[201][201];
      int main()
      {
          int n;scanf("%d",&n);
          for(int i=1;i<=n;i++)scanf("%d",&a[i].l);
          for(int i=1;i<=n-1;i++)a[i].r=a[i+1].l;
          a[n].r=a[1].l;
           
          for(int i=1;i<=n;i++) a[i+n]=a[i];
          
          for(int i=1;i<=2*n;i++) f[i][i]=0;
          for(int L=2;L<=n;L++)
              for(int st=1;st<=2*n-L+1;st++)
      		{
                  int ed=st+L-1;
                  f[st][ed]=0;
                  for(int k=st;k<ed;k++)
                      f[st][ed]=max(f[st][ed],f[st][k]+f[k+1][ed]+a[st].l*a[k].r*a[ed].r);
                                                               //+a[st].l*a[k+1].l*a[ed].r
              }
          int ans=0;
          for(int i=1;i<=n;i++)ans=max(ans,f[i][i+n-1]);
          printf("%d\n",ans);
          return 0;
      }
      • 1

      *【动态规划:区间中间推】[NOIP 2006 提高组] 能量项链

      信息

      ID
      1407
      时间
      1000ms
      内存
      64MiB
      难度
      2
      标签
      递交数
      63
      已通过
      41
      上传者