• codefore 213 C Relay Race (朴素DP)


    原题地址:http://codeforces.com/problemset/problem/213/C

    题意:略

    题解:dp,状态为点的位置,直接枚举复杂度是n4,利用两个点坐标之和之间的关系,优化到n3。

    #include<bits/stdc++.h>
    
    #define clr(x,y) memset((x),(y),sizeof(x))
    
    using namespace std;
    typedef long long LL;
    
    const int maxn=300;
    const int INF=1e8;
    
    int A[maxn+5][maxn+5];
    int dp[maxn+5][maxn+5];
    int dx[]={-1,-1,0,0};
    int dx2[]={-1,0,-1,0};
    
    int n;
    
    int main(void)
    {
        #ifdef ex
        freopen ("../in.txt","r",stdin);
        //freopen ("../out.txt","w",stdout);
        #endif
    
        scanf("%d",&n);
        for (int i=1;i<=n;++i)
        {
            for (int j=1;j<=n;++j)
            {
                scanf("%d",&A[i][j]);
            }
        }
    
        int x1,y1,x2,y2,tmp;
    
        //cout<<dp[1][1][1]<<' '<<dp[2][1][1]<<endl;
        for (int i=1;i<=n;++i)
            for (int j=1;j<=n;++j)
                dp[i][j]=-INF;
    
        dp[1][1]=A[1][1];
        for (int i=3;i<=2*n;++i)
        {
            for (int j=min(i-1,n);j>=1;--j)
            {
                for (int k=min(i-1,n);k>=1;--k)
                {
                    int T=-INF;
                    for (int q=0;q<=3;++q)
                    {
                        x1=j+dx[q];
                        x2=k+dx2[q];
                        y1=i-1-x1;
                        y2=i-1-x2;
    
                        if (x1<=0 || x1>n || y1<=0 || y1>n) continue;
                        if (x2<=0 || x2>n || y2<=0 || y2>n) continue;
    
                        if (j==k) tmp=A[j][i-j];
                        else tmp=A[j][i-j]+A[k][i-k];
    
                        T=max(T,dp[x1][x2]+tmp);
                    }
                    dp[j][k]=T;
                    //printf("%d %d %d %d
    ",i,j,k,dp[j][k]);
                }
            }
        }
    
        int ans=dp[n][n];
        printf("%d
    ",ans);
    }
  • 相关阅读:
    Hibernate关联的集合对象排序
    Hibernate级联查询的分页问题
    Hibernate双向一对多级联保存优化
    Struts流程分析+源码分析
    jsp自定义函数库
    Java异常处理和设计
    struts2总体介绍
    struts和struts2的区别
    搭建struct环境
    struts-config.xml的配置
  • 原文地址:https://www.cnblogs.com/123-123/p/5796826.html
Copyright © 2020-2023  润新知