• 数字游戏


    传送门

    解法:

    此题能很容易想到用区间dp求

    因为要最大值与最小值
    所以设两个数组maxn[i][j][t],minn[i][j][t]
    分别表示 位置i到位置j的数 分成t份和的乘积最大值、最小值

    那么
    t=1为边界 此时maxn[i][j][1]=minn[i][j][1]=a[i]+a[i+1]+…+a[j]
    t>=2时 maxn[i][j][t]=max{maxn[i][k][t-1]+maxn[k+1][j][1]} minn同理

    代码:

    #include<iostream>
    #include<cstdio>
    #include<algorithm>
    #include<cstring>
    #include<vector>
    #include<cmath>
    #include<queue>
    #include<map>
    #define inf 2000000000
    #define min(x,y) ((x)<(y)?(x):(y))
    #define max(x,y) ((x)>(y)?(x):(y))
    #define rep(i,a,b) for(int i=(a);i<=(b);++i)
    #define dwn(i,a,b) for(int i=(a);i>=(b);--i)
    using namespace std;
    typedef long long ll;
    const int p=10;
    int n,m,a[110],maxn[110][110][11],minn[110][110][11];
    int main()
    {
        scanf("%d%d",&n,&m);
        rep(i,1,n)
        {
            scanf("%d",&a[i]);
            a[i+n]=a[i]=(a[i]%p+p)%p;
        }
        rep(i,1,2*n)
            a[i]=((a[i]+a[i-1])%p+p)%p;
        memset(minn,127,sizeof(minn));
        rep(i,1,2*n)
        {
            rep(j,i,2*n)
            {
                minn[i][j][1]=maxn[i][j][1]=((a[j]-a[i-1])%p+p)%p;
            }
        }
        rep(t,2,m)
        {
            rep(i,1,2*n)
            {
                rep(j,i+t-1,2*n)
                {
                    rep(k,i+t-2,j-1)
                    {
                        maxn[i][j][t]=max(maxn[i][j][t],maxn[i][k][t-1]*maxn[k+1][j][1]);
                        minn[i][j][t]=min(minn[i][j][t],minn[i][k][t-1]*minn[k+1][j][1]);
                    }
                }
            }
        }
        rep(i,1,n)
        {
            maxn[0][0][0]=max(maxn[0][0][0],maxn[i][i+n-1][m]);
            minn[0][0][0]=min(minn[0][0][0],minn[i][i+n-1][m]);
        }
        printf("%d
    %d
    ",minn[0][0][0],maxn[0][0][0]);
        return 0;
    }
    
    
  • 相关阅读:
    【Gym
    [matlab工具箱] 曲线拟合Curve Fitting
    数学建模 常用
    “这么多人给我作证,我不怕”
    超星尔雅刷课辅助
    细思《都挺好》
    P5173 传球
    [ICPC 北京 2017 J题]HihoCoder 1636 Pangu and Stones
    CF 1131C Birthday
    CF 634A Island Puzzle
  • 原文地址:https://www.cnblogs.com/MYsBlogs/p/10984823.html
Copyright © 2020-2023  润新知