zoukankan      html  css  js  c++  java
  • poj 1695 动态规划

    思路:和黑书上的跳舞机类似

    #include<map>
    #include<set>
    #include<cmath>
    #include<queue>
    #include<cstdio>
    #include<vector>
    #include<string>
    #include<cstdlib>
    #include<cstring>
    #include<iostream>
    #include<algorithm>
    #define Maxn 31
    #define Maxm 100010
    #define LL __int64
    #define Abs(x) ((x)>0?(x):(-x))
    #define lson(x) (x<<1)
    #define rson(x) (x<<1|1)
    #define inf 0x7fffffff
    #define Mod 1000000007
    using namespace std;
    int dp[Maxn][Maxn][Maxn][Maxn];
    int dis[Maxn][Maxn];
    int main()
    {
        int t,n,i,j,x,k,r;
        scanf("%d",&t);
        while(t--){
            memset(dis,0,sizeof(dis));
            memset(dp,48,sizeof(dp));
            scanf("%d",&n);
            for(i=1;i<n;i++){
                for(j=i+1;j<=n;j++){
                    scanf("%d",&x);
                    dis[i][j]=dis[j][i]=x;
                }
            }
            memset(dp[1],0,sizeof(dp[1]));
            for(i=2;i<=n;i++){
                for(j=1;j<=i-1;j++){
                    for(k=1;k<=i-1;k++){
                        for(r=1;r<=i-1;r++){
                            dp[i][i][k][r]=min(dp[i][i][k][r],dp[i-1][j][k][r]+dis[j][i]);
                            dp[i][j][i][r]=min(dp[i][j][i][r],dp[i-1][j][k][r]+dis[k][i]);
                            dp[i][j][k][i]=min(dp[i][j][k][i],dp[i-1][j][k][r]+dis[r][i]);
                        }
                    }
                }
            }
            int ans=100000000;
            for(i=1;i<=n;i++){
                for(j=1;j<=n;j++){
                    for(k=1;k<=n;k++){
                        ans=min(dp[n][i][j][k],ans);
                    }
                }
            }
            printf("%d
    ",ans);
        }
        return 0;
    }
  • 相关阅读:
    ios 点击webview获取图片url (js交互)
    ios基础视频
    截取图片
    记录最大坐标
    数据库缓存
    ios崩溃日志
    图片裁剪处理
    结构体
    block注意事项
    学习资料
  • 原文地址:https://www.cnblogs.com/wangfang20/p/3278719.html
Copyright © 2011-2022 走看看