zoukankan      html  css  js  c++  java
  • 方格取数(luogu 1004)

    测评传送门

    输入
    8
    2 3 13
    2 6  6
    3 5  7
    4 4 14
    5 2 21
    5 6  4
    6 3 15
    7 2 14
    0 0  0
    
    输出
    67

    做法:

    和传纸条很像,但有一点小区别

    最基本的做法,开四维暴力DP,能更新则更新

    我们也可以通过更新每一层的状态,用曼哈顿距离,就可以通过一维表示出另一维,大大节省了空间时间

    code【1】

    #include<stdio.h> 
    #include<algorithm> 
    using namespace std;
    int mp[11][11],f[11][11][11][11];
    
    
    int main() 
    {
        int n,x,y,c;
        scanf("%d",&n);
        while(scanf("%d%d%d",&x,&y,&c) && x && y && c) mp[x][y]=c;
        for(int i=1;i<=n;++i) 
            for(int j=1;j<=n;++j) 
                for(int k=1;k<=n;++k) 
                {
                    int l=i+j-k;
                    if(l<=0) break;
                    f[i][j][k][l]=max(f[i-1][j][k-1][l],max(f[i-1][j][k][l-1],max(f[i][j-1][k-1][l],f[i][j-1][k][l-1])));
                    if(i==k && j==l) f[i][j][k][l]+=mp[i][j];
                    else f[i][j][k][l]+=mp[i][j]+mp[k][l];
                }
        printf("%d",f[n][n][n][n]);
        return 0;
    }

    code【2】

    #include<stdio.h> 
    #include<algorithm> 
    using namespace std;
    int mp[11][11],f[11][11];
    
    int main() 
    {
        int n,x,y,c; 
        scanf("%d",&n);
        while(scanf("%d%d%d",&x,&y,&c) && x && y && c) mp[x][y]=c;
        for(int l=2;l<=n+n;++l) 
            for(int i=l-1;i>=1;--i) 
                for(int ii=l-1;ii>=1;--ii) {
                    int j=l-i,jj=l-ii;
                    f[i][ii]=max(f[i][ii],max(f[i-1][ii-1],max(f[i-1][ii],f[i][ii-1])))+mp[i][j];
                    if(i!=ii) {
                        f[i][ii]+=mp[ii][jj];
                    }
                }
        printf("%d",f[n][n]);
        return 0;
    }
  • 相关阅读:
    html5--6-56 阶段练习5-翻转效果
    html5--6-55 动画效果-关键帧动画
    html5--6-53 阶段练习4-画廊
    html5--6-52 动画效果-过渡
    navicat常用快捷键
    Mysql语句示例
    mysql语句大全
    intellij IDEA怎样打war包
    如何将java web项目上线/部署到公网
    jsp的4大作用域
  • 原文地址:https://www.cnblogs.com/qseer/p/9800619.html
Copyright © 2011-2022 走看看