zoukankan      html  css  js  c++  java
  • poj1655Multiplication Puzzle

    f(i,j)=min(f(i-1,k)+f(k+1,j)+ai-1*ak*aj

    k表示被抽取的数

     1 #include<iostream> 
     2 #include<cstdio> 
     3 #include<algorithm> 
     4 #include<vector> 
     5 #include<queue> 
     6 #include<cmath> 
     7 #include<cstring>
     8 using namespace std;
     9 const int maxn=1e6+5;
    10 const int INF=1e9+7;
    11 int n,dp[105][105],a[105];
    12 template <class t>void red(t &x)
    13 {
    14     x=0;
    15     int w=1;
    16     char ch=getchar();
    17     while(ch<'0'||ch>'9')
    18     {
    19         if(ch=='-')
    20             w=-1;
    21         ch=getchar();
    22     }
    23     while(ch>='0'&&ch<='9')
    24     {
    25         x=(x<<3)+(x<<1)+ch-'0';
    26         ch=getchar();
    27     }
    28     x*=w;
    29 }
    30 void input()
    31 {
    32     freopen("input.txt","r",stdin);
    33 }
    34 void read()
    35 {
    36     red(n);
    37     memset(dp,0x3f,sizeof(dp));
    38     for(int i=1;i<=n;++i)
    39     {
    40         red(a[i]);
    41         dp[i][i]=0;
    42     }
    43 }
    44 void work()
    45 {
    46     for(int i=1;i<=n;++i)
    47         for(int j=2;j+i<=n+1;++j)
    48         {
    49             int e=i+j-1;
    50             for(int k=j;k<e;++k)
    51                 dp[j][e]=min(dp[j][k]+dp[k+1][e]+a[k]*a[j-1]*a[e],dp[j][e]);
    52         }
    53     printf("%d",dp[2][n]);
    54 }
    55 int main()
    56 {
    57     //input();
    58     read();
    59     work();
    60     return 0;
    61 }
    View Code
  • 相关阅读:
    资料网站
    HTML、CSS部分
    面试题三
    面试题二
    面试题一
    上学时的HTML+JS+CSS(小总结)
    01.策略模式-上篇
    【解决方案】HTTP could not register URL http://+:6001/
    【问题与思考】1+"1"=?
    WCF安全3-Transport与Message安全模式
  • 原文地址:https://www.cnblogs.com/Achensy/p/10804303.html
Copyright © 2011-2022 走看看