[Luogu P6822PA2012]Tax] (http://www.luogu.com.cn/problem/P6822") All right. Let's go! 题目描述 给出一个 n 个点 m 条边的无向图,经过一个点的代价是进入和离开这个点的两条边的边权的较大值,求从起点 1 到点 n ...
分类:
其他好文 时间:
2021-04-19 15:06:50
阅读次数:
0
隔了几个月,又开始写博客了qwq kruskal时间复杂度为O(nlogn)它的算法思路是这样的:我们根据边的权值将所有边排序,然后枚举每条边,用并查集去查询这条边的两个端点是否在同一集合内,若在同一集合内,则删掉这条边,若不在同一结合则加入这条边,并将这两个端点所在的集合合并。附一下代码: 123 ...
分类:
其他好文 时间:
2020-08-17 17:07:58
阅读次数:
90
1.图的初始条件[数组表示] //邻接表存储 int node[N]; struct Edge{ int to,next,value; }edges[M]; int flag; //矩阵存储 int dis[N][N]; 已知起点和终点的最短路 dijkstra 算法:选择最短边上的点直到所有点加入 ...
分类:
编程语言 时间:
2020-07-23 09:17:14
阅读次数:
85
最短路算法(三)Dijkstra算法 PS:因为这两天忙着写GTMD sagment_tree,所以博客可能是sag+图论混搭着来,另外sag的基本知识就懒得整理了…… Part 1:Dijkstra算法基本信息 以下,我们用dis[n]表示1->n的最短路径长度,vis[n]表示n号节点有没有被访 ...
分类:
编程语言 时间:
2020-07-09 12:17:08
阅读次数:
123
写在前面:图论题的调试真感人 让我们进入正题 ##最短路是啥 emmm 顾名思义最短路就是求一个点到另外一个点的最小距离 一般来说最短路分为:单源最短路和多源最短路 单源最短路就是求一个源点到另外多个点的最短距离 而多源最短路就是求多个点到其他点的最短距离 算法一般有: floyd(多源 O(\(n ...
分类:
其他好文 时间:
2020-07-03 21:51:41
阅读次数:
83
邻接矩阵存储图,n<= 100, 使用多源最短路算法Floyd算法(\(O(n^3)\)),求出重要城市之间最短路径。 遍历所有可能的配对,找出最小路径代价。具体的,求出所有重要城市的全排列,让相邻两城市配对,累加路径代价,再更新最小代价。 import java.util.*; public cl ...
分类:
其他好文 时间:
2020-07-01 22:05:20
阅读次数:
69
其实没什么好说的,从点 i 到点 j ,除了直接一条边连接直通还可以通过别的边中转得到,这样就得到了一个类似dp的一个状态转移方程。但是注意:1.Floyd必须用邻接矩阵存图。2.不能解决负环问题。 #include <bits/stdc++.h> using namespace std; int ...
分类:
编程语言 时间:
2020-06-28 18:56:40
阅读次数:
59
我可能要退役了…… 退役之前,写一篇和我一样悲惨的算法:SPFA 最短路算法(二)SPFA算法 Part 1:SPFA算法是什么 其实呢,SPFA算法只是在天朝大陆OIers的称呼,它的正统名字叫做:队列优化的Bellman-Ford算法 在天朝,我们把它叫做“Shortest Path Fast ...
分类:
编程语言 时间:
2020-06-27 20:01:07
阅读次数:
89
最短路算法(一) 最短路算法有三种形态:Floyd算法,Shortset Path Fast Algorithm(SPFA)算法,Dijkstra算法。 我个人打算分三次把这三个算法介绍完。 (毕竟写太长了又没有人看QAQ……)但是这篇博客好像又双叒叕写的有点长,真的请各位耐心看完QAQ 今天先来介 ...
分类:
编程语言 时间:
2020-06-05 22:39:09
阅读次数:
82
最小环 在一个图中,求一个由不少于3个点构成的最小环 无向图 求环的长度就是求两点加上中间任意一个松弛点的距离和,即$dis[i][j]+val[i][k]+val[k][j]$,要得到$dis[i][j]$,可以使用最短路算法求解 由于要保证$dis[i][j]$经过的点集中一定不含有k,可以利用 ...
分类:
其他好文 时间:
2020-05-27 12:17:10
阅读次数:
56