图论
蒟蒻的你
这个作者很懒,什么都没留下…
展开
-
最短路总结
最短路问题不仅指最短路,还包括最长路 一,求多源最短路(即任意两点间的最短路) 弗洛伊德算法: 时间复杂度为O(n^3) void floyd() { for (int k = 1; k <= n; k++) for (int i = 1; i <= n; i++) for (int j = 1; j <= n; j++) d[i][j] = min(d[...原创 2019-10-03 22:58:50 · 156 阅读 · 0 评论 -
求树的直径或两端点
树的直径概念:一颗树上存在的最长路径。 一:两次bfs求树的直径 先从任意一点P出发,找离它最远的点Q,再从点Q出发,找离它最远的点W,W到Q的距离就是是的直径 int bfs(int s) { memset(dis, 0x3f, sizeof dis); queue<int> q; q.push(s); dis[s] = path[s] = 0...原创 2019-10-05 23:25:37 · 454 阅读 · 0 评论