8、图论
.
Estrellas_
I am the king of the world.
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
关键路径【有向无环图的最长路径】
1、ve数组的求解 ve:顶点(事件)的最早开始时间(时刻)。 //拓扑序列 stack<int> topOrder; //拓扑排序,顺便求ve数组 bool topologicalSort() { queue<int> q; for(int i=0;i<n;i++) //遍历所有点,将入度为0的点加入队列 { if(inDegree[...原创 2020-01-28 19:30:34 · 1379 阅读 · 0 评论 -
拓扑排序
注意: 1、队列的使用。 //拓扑排序 vector<int> G[maxv]; int n,m,inDegree[maxv]; bool topologicalSort() { int num=0; queue<int> q; for(int i=0;i<n;i++) //将所有入度为0的点入队 { if(inDegree[i]==0)...原创 2020-01-28 14:51:20 · 219 阅读 · 0 评论 -
kruskal最小生成树算法
注意: 1、并查集的巧妙应用。 一、大致框架 1、边的数据结构定义 struct edge { int u; //u、v: 边的两个端点 int v; int cost; }E[maxe]; 2、比较函数 bool cmp(edge a,edge b) { return a.cost<b.cost; } 3、kruskal函数 int father[...原创 2020-01-28 14:13:53 · 230 阅读 · 0 评论 -
prim最小生成树算法
const int maxv=1000; const int inf=1000000000; 1、邻接矩阵版prim int G[maxv][maxv]; int n; int d[maxv]; bool vis[maxv]={false}; int prim() { fill(d,d+maxv,inf); d[0]=0; int ans=0; for(int i=0;...原创 2020-01-27 22:48:08 · 243 阅读 · 0 评论 -
弗洛伊德算法【全源最短路径】
弗洛伊德算法 全源最短路径 #include<cstdio> #include<algorithm> using namespace std; const int inf=1000000000; const int maxv=200; int n,m; int dis[maxv][maxv]; void Floyd() { for(int k=0;k<n...原创 2020-01-27 21:06:26 · 297 阅读 · 0 评论 -
SPFA算法求最短路径
vector<Node> adj[maxv]; int n,d[maxv],num[maxv]; bool inq[maxv]; bool SPFA(int s) { memset(inq,false,sizeof(inq)); memset(num,0,sizeof(num)); fill(d,d+maxv,inf); queue<int> q; q.p...原创 2020-01-27 17:44:37 · 359 阅读 · 0 评论 -
pat a1003 Bellman-Ford求最短路径
题目: https://pintia.cn/problem-sets/994805342720868352/problems/994805523835109376 #include<cstdio> #include<cstring> #include<vector> #include<set> #include<algorithm&...原创 2020-01-27 16:40:09 · 291 阅读 · 0 评论 -
Bellman-Ford算法求最短路径
struct Node { int v; int dis; }; vector<Node> adj[maxv]; //图的邻接表 int n; //n为顶点数 int d[maxv]; //从起点到各点的最短路径长度 bool Bellman(int s) { fill(d,d+maxv,inf); d[s]=0; //求数组d for(int ...原创 2020-01-27 16:39:24 · 350 阅读 · 0 评论 -
pat a1030 Travel Plan 【Dijkstra求最短路径】
题目: https://pintia.cn/problem-sets/994805342720868352/problems/994805464397627392 https://www.nowcoder.com/pat/1/submission-detail/64261014 一、问题描述 A traveler's map gives the distances between c...原创 2020-01-26 20:45:30 · 271 阅读 · 0 评论 -
Dijkstra+DFS
1、使用Dijkstra算法记录所有的最短路径 vector<int> pre[maxv]; void Dijkstra(int s) { fill(d,d+maxv,inf); d[s]=0; for(int i=0;i<n;i++) { int u=-1; int min=inf; for(int j=0;j<n;j++) { if(...原创 2020-01-26 15:57:39 · 329 阅读 · 1 评论 -
pat a1003 Emergency 【dijkstra求最短路径】
题目: https://pintia.cn/problem-sets/994805342720868352/problems/994805523835109376 一、问题描述 As an emergency rescue team leader of a city, you are given a special map of your country. The map shows ...原创 2020-01-26 14:37:14 · 272 阅读 · 0 评论 -
Dijkstra求最短路径
const int maxv=1000; const int inf=1000000000; 1、全局变量 int G[maxv][maxv]; int n; int d[maxv]; //起点到各点的最短路径长度 bool vis[maxv]={false}; int pre[maxv]; 2、Dijkstra实现 void Dijkstra(int s) { fill(d...原创 2020-01-25 18:06:01 · 313 阅读 · 0 评论 -
Dijkstra求最短距离
const int maxv=1000; const int inf=1000000000; 1、邻接矩阵版Dijkstra const int maxv=1000; const int inf=1000000000; //1、邻接矩阵版Dijkstra int G[maxv][maxv]; int n; int d[maxv]; //起点到各点的最短路径长度 bool vis[m...原创 2020-01-25 15:16:35 · 702 阅读 · 0 评论 -
pat a1076 微博转发人数_广搜
一、问题描述 1076Forwards on Weibo(30分) Weibo is known as the Chinese version of Twitter. One user on Weibo may have many followers, and may follow many other users as well. Hence a social network is fo...原创 2020-01-23 21:06:03 · 244 阅读 · 0 评论 -
图的广搜
1、邻接矩阵版BFS int n; int G[maxv][maxv]; bool inq[maxv]={false}; void BFS(int u) { queue<int>q; q.push(u); inq[u]=true; while(!q.empty()) { int u=q.front(); q.pop(); for(int v=0;v&...原创 2020-01-23 12:47:58 · 290 阅读 · 1 评论
分享