• Codeforces Round #179 (Div. 1) B. Greg and Graph(Floyd 变形)


     

    题目大意

     

    给了一个 n(1≤n≤500) 个点的有向完全图,以及邻接矩阵,现在每次删掉一个点,并问删掉这个点之后,总共删 n 次。没删掉一个点,都要求出剩余图中,所有顶点之间的最短路的和是多少,并输出

     

    做法分析

     

    倒着做,一个一个的加点,充分运用 Floyd 的动态规划意义

    当然了,离不了 map 来哈希一下

    比赛的时候算错数据范围,结果超 int 挂 ST 了,悲剧

    那几天一直状态不好,跌到 div2 后迟迟不能涨回去,每场 div2 的比赛,在ST之前都是房间第一,可就是要挂 ST,总结原因,总是有些小细节没处理好,竟然没人 cha,太不科学了

     

    参考代码

     

    B. Greg and Graph
     1 #include <cstdio>
     2 #include <cstring>
     3 #include <iostream>
     4 #include <map>
     5 
     6 using namespace std;
     7 
     8 typedef long long LL;
     9 const int N=506;
    10 
    11 LL g[N][N], dis[N][N], ans[N];
    12 int n;
    13 map <int, int> ihash;
    14 
    15 int main()
    16 {
    17     scanf("%d", &n);
    18     for(int i=1; i<=n; i++)
    19         for(int j=1; j<=n; j++)
    20             scanf("%I64d", &g[i][j]);
    21     ihash.clear();
    22     for(int i=1; i<=n; i++)
    23     {
    24         int a;
    25         scanf("%d", &a);
    26         ihash.insert(make_pair(a, n+1-i));
    27     }
    28 
    29     for(int i=1; i<=n; i++)
    30         for(int j=1; j<=n; j++)
    31             dis[ihash[i]][ihash[j]]=g[i][j];
    32 
    33     memset(ans, 0, sizeof ans);
    34     for(int k=1; k<=n; k++)
    35     {
    36         for(int i=1; i<=n; i++)
    37             for(int j=1; j<=n; j++)
    38                 dis[i][j]=min(dis[i][j], dis[i][k]+dis[k][j]);
    39 
    40         for(int i=1; i<=k; i++)
    41             for(int j=1; j<=k; j++)
    42                 ans[n+1-k]+=dis[i][j];
    43     }
    44     for(int i=1; i<=n; i++)
    45     {
    46         printf("%I64d", ans[i]);
    47         if(i==n) printf("\n");
    48         else printf(" ");
    49     }
    50     return 0;
    51 }

    题目链接 & AC通道

    Codeforces Round #179 (Div. 1) B. Greg and Graph

  • 相关阅读:
    Python在信号与系统(1)——Hilbert兑换,Hilbert在国家统计局的包络检测应用,FIR_LPF滤波器设计,格鲁吉亚也迫使高FM(PM)调制
    HDU 4925 Apple Tree
    [ACM] HDU 3395 Special Fish (最大重量二分图匹配,KM算法)
    OCP解决问题053-16 MEMORY_TARGET
    图像归一化
    我毕业10年
    静态分析与动态分析
    逐步求精
    抽象与逐步求精
    自项向下,逐步求精
  • 原文地址:https://www.cnblogs.com/zhj5chengfeng/p/3040842.html
Copyright © 2020-2023  润新知