感想:

感想?不敢想不敢想。

刷了一整个最短路专题,其中大部分都是kuangbin带我飞系列的题

期间写了无数个神奇的bug

也曾经通宵调bug(摸鱼)过,暑训的快感来源于此

为了避免之后再踩同样的坑、总结出了一点点模板

还有自己对最短路里面各个算法的一点点体会

1.floyd

目测是最简单的最短路算法吧

3个for 的复杂度爆炸的算法

不过用来写一些数据量特别小的题还是特别舒服的

代码如下:

const int maxn = 1005;
int dis[maxn][maxn];

void floyd(){
    for(int k=0;k<n;k++){
        for(int i=0;i<n;i++){
            for(int j=0;j<n;j++){
                if(dis[i][j]>dis[i][k]+dis[k][j]){
                    dis[i][j]=dis[i][k]+dis[k][j];
                }
            }
        }
    }
}
/*
floyd的邻接矩阵的用法
n表示顶点个数
dis[i][j]表示从点i到点j的权值大小
复杂度为O(n^3),emmm数据在100、200之间的题可以用
作为最短路入门了
*/
View Code

相关文章: