题目链接:
无
题目大意:
求一个点到其他所有点的最短距离和,保证图连通。
解题过程:
刚开始用 Floyd 水过的,后来用换了几种方法,不错的模板题,Floyd 的时候,要用 vector 存边,否则超内存。
题目分析
略
AC代码(Dijkstra + SPFA)
#include<bits/stdc++.h>
using namespace std;
const int MAX = 11234, INF = 0x3f3f3f3f;
vector<int> edges[MAX];
int dist[MAX], book[MAX];
void spfa(int s) {
memset(dist, INF, sizeof(dist));
memset(book, 0, sizeof(book));
queue<int> q;
q.push(s);
book[s] = 1;
dist[s] = 0;
while (!q.empty()) {