• NOIP2006 energy


    <问题描述>

     1 #include <stdio.h>
     2 #include <string.h>
     3 
     4 #define N 100+1
     5 int main()
     6 {
     7     int i,j,tag,k,n,v[N*2],s[N*2][N*2];
     8     scanf("%d",&n);
     9     for(i=1;i<=n;i++)
    10     {
    11        scanf("%d",&v[i]);
    12        v[i+n]=v[i];
    13     }
    14     for(i=1;i<=2*n;i++)
    15     {
    16        s[i][i]=0;
    17     }
    18     for(i=1;i<n;i++)
    19     {
    20        for(j=1;j<=2*n-i;j++)
    21        {
    22           tag=0;
    23           for(k=j;k<i+j;k++)
    24           {
    25              if(tag<s[j][k]+s[k+1][j+i]+v[j]*v[j+i]*v[k+1])
    26                tag=s[j][k]+s[k+1][j+i]+v[j]*v[j+i]*v[k+1];
    27           }
    28           s[j][i+j]=tag;
    29        }
    30     }
    31     j=s[1][n];
    32     for(i=2;i<=n;i++)
    33     {
    34        if(j<s[i][i+n-1])
    35          j=s[i][i+n-1];
    36     }
    37     printf("%d
    ",s[i][i+n-1]);
    38     while(true);
    39     return 0;
    40 }

    状态转移方程 s[i][j]=max{s[i][k]+s[k+1][j]+v[i]*v[k+1]*v[j]}

  • 相关阅读:
    javaweb学习2
    javaweb学习1
    Java学习17
    python 正则表达式
    python 常用库
    python 常用内置函数
    python 函数高级功能
    python 正则表达式findall
    tcpdump
    安卓软件学习进度_1
  • 原文地址:https://www.cnblogs.com/simplesslife/p/energyRing.html
Copyright © 2020-2023  润新知