图论
杨小猪猪
这个作者很懒,什么都没留下…
展开
-
AcWing 1135. 新年好
题目链接#include<bits/stdc++.h>using namespace std;typedef pair<int, int> PII;const int N = 5e5 + 10, M = 2e6 + 10,INF=0x3f3f3f3f;int n, m;int w[M], e[M], ne[M], h[M], idx = 0;int dist[6][N],source[6];bool st[N];void add(int a, int.原创 2021-12-15 17:02:49 · 1259 阅读 · 0 评论 -
单源最短路的各种应用
1.AcWing 1135. 新年好题目:佳佳的家在车站1,他有五个亲戚,分别住在车站a,b,c,d,e。过年了,他需要从自己的家出发,拜访每个亲戚(顺序任意),给他们送去节日的祝福。怎样走,才需要最少的时间?解法:把六个点作为起点跑最短路,然后用dfs暴力遍历所有顺序的情况...原创 2021-12-15 17:01:04 · 593 阅读 · 0 评论 -
dijkstra(朴素版+堆优化版)
原理:1.每次从未标记的节点中选择距离出发最近的节点,标记,收录到最优路径的集合中2.计算刚加入节点a的邻近节点b的距离,并根据条件更新节点b的距离dijkstra堆优化版#include<bits/stdc++.h>using namespace std;const int N = 3000, M = 20000;typedef pair<int, int> PII;int h[N], w[M], e[M], ne[M], idx;bool st.原创 2021-10-05 20:39:59 · 142 阅读 · 0 评论 -
邻接表(图论,模板)
#include<bits/stdc++.h>using namespace std;const int N = 2510, M = 6200 * 2 + 10;int h[N], e[M], w[M], ne[M], idx;void add(int a, int b, int c)//添加边的操作{ e[idx] = b, w[idx] = c, ne[idx] = h[a], h[a] = idx++;}//e存终点,w存权值,ne存相同出发点(a)的上一条边的号码.原创 2021-10-05 19:03:29 · 131 阅读 · 0 评论