zoukankan      html  css  js  c++  java
  • 1821:【00NOIP提高组】乘积最大

    //dp QAQ 
    #include<bits/stdc++.h>
    using namespace std;
    long long a[11][11],f[11][11];
    long long s;
    int main()
    {
        int n,K,p,i,j,k;
        cin>>n>>K;
        cin>>s;
        for(i=n;i>=1;i--)
        {
            a[i][i]=s%10;
            s/=10;
        }
        for(i=2;i<=n;i++)
         for(j=i-1;j>=1;j--)
          a[j][i]=a[j][i-1]*10+a[i][i];
        for(i=1;i<=n;i++)
         f[i][0]=a[1][i];
        for(k=1;k<=K;k++)//先枚举阶段 
        {
            for(i=k+1;i<=n;i++)//状态(阶段变量,我也不知道是啥) 
             for(j=k;j<i;j++)//决策,即断点。这些都是一个一天到晚看电脑皮肤贼差的dalao告诉我的我自己也不知道我打的是啥 
             f[i][k]=max(f[i][k],f[j][k-1]*a[j+1][i]);     
         } 
        cout<<f[n][K];
        return 0;
    }
  • 相关阅读:
    GCD
    SQLite
    将博客搬至CSDN
    Extjs 4 总结
    spring mvc 复杂参数注入
    7/12 聊天室结束
    7/10
    7/6一些知识点
    随便写写
    spring boot 入门操作(三)
  • 原文地址:https://www.cnblogs.com/smartljy/p/11716111.html
Copyright © 2011-2022 走看看