spfa 模板(静态邻接表)
文章平均质量分 87
h1021456873
这个作者很懒,什么都没留下…
展开
-
spfa + 静态链表 模板
建图: const int SIZE = 100010; const int INF = 0x3f3f3f3f; int u[4*SIZE], w[4*SIZE], v[4*SIZE], next[4*SIZE]; //一般是4*SIZE int first[SIZE], d[SIZE]; int sum[SIZE]; int n, m; //n个顶点,m条原创 2017-03-25 19:43:17 · 253 阅读 · 0 评论 -
POJ 1511 Invitation Cards (spfa + 静态邻接表)
题目大意:给出n个点和n条有向边,求所有点到源点1的来回最短路之和(保证每个点都可以往返源点1) 解题思路:这个数据范围太大,明显的不能用floyd,dijstra,bellman-ford这些算法,用spfa的话也不能用邻接矩阵存,因为点太多了,所以采用spfa的邻接表存储搞定 稍微有点注意的地方是,来回之和只需要将所有的边反向再从1到所有点求最短路就是他们的最短回路,而且这个题 的数据有原创 2017-03-25 19:45:10 · 324 阅读 · 0 评论 -
POJ3159 最大差距(差分约束系统 ,Dijkstra+Heap)
班上有n个同学,现在有一些糖要分给他们,设第i个同学得到的糖为p[i],分糖必须满足条件:第i个同学要求第j个同学的糖不能超过自己k个,即p[j] - p[i] = 0。要求在满足这些条件的情况下,求出p[n] - p[1]的最大值。 由p[j] - p[i] 在单源最短路径的算法中有一步是“若mindis[j] > mindis[i] + dis[i][j],则mindis[j] = mi原创 2017-03-26 11:02:20 · 627 阅读 · 0 评论