最短路
lahlah_
沉浸 尊重
展开
-
[luogu P6348] [PA2011]Journeys
[luogu P6348] [PA2011]Journeys 题解 最直接的做法就是直接连边然后跑01最短路 但是边数特别多,所以要线段树优化建边 要注意的一点是双向边必须建两对点来辅助 不能直接只建一对点,不然会出现自己到自己的情况 code: #include<bits/stdc++.h> #define N 8000005 using namespace std; struct edge { int v, nxt, c; } e[N << 1]; int p[N], eid;原创 2020-10-26 07:52:43 · 127 阅读 · 0 评论 -
最短路知识点总结(Dijkstra,Floyd,SPFA,Bellman-Ford)
1、Dijkstra单源最短路问题在带权图 G = (V, E) 中,每条边都有一个权值w_i,即边的长度。路径的长度为路径上所有边权之和。单源最短路问题是指:求源点 s到图中其余各顶点的最短路径。概述解决单源最短路径问题常用 Dijkstra 算法,用于计算一个顶点到其他所有顶点的最短路径。Dijkstra 算法的主要特点是以起点为中心,逐层向外扩展,每次都会取一个最近点继续扩展,直到取完所有点...转载 2018-03-24 15:43:50 · 770 阅读 · 0 评论 -
树网的核
树网的核 这一题,刚开始看题目感觉好像很难,题目又长……一看数据范围,呵呵。 已经给出来这是个DAG,所以不用担心连通性的问题。那么怎么做呢? 朴素的做法是把树的直径的两个端点都统计出来,然后暴力算那个什么偏心距,这里可以用floyd预处理,反正才n才300。还有一点,怎么算一个点到一条路径的距离呢,很简单,计算点到路径的距离,由于这是一张树网,且已经预处理点对之间的距离,从而点...原创 2018-06-18 14:23:39 · 888 阅读 · 2 评论 -
浅谈差分约束系统
概论(扯淡) 差分约束系统是一种特殊的N元一次方程,它包含 N 个变量 X1 ~ Xn 以及 M 个约束条件,每个约束条件都是有两个变量作差构成的,形如Xi - Xj ≤ Ck 其中 Ck 是常数(一般就是题目给出的),可以是非负数,也可以是负数, 1≤i , j ≤ N , 1 ≤ k ≤ M 我们要解决的问题就是求一组解 X1, X2, …,使得所有约束条件都可以得到满足。 每个约束条...原创 2018-08-14 13:16:15 · 199 阅读 · 0 评论 -
关于dijkstra
dijkstra是一个可以用来求单源最短路问题的一个算法。 dijkstra自我感觉还是挺好用的,当点数少边数多的时候可以用n^2(就是每次找距离最小的来更新的那种)来写,但是如果点数过多的话那还是不建议的,可以用堆优化成(n+m)logn的,是一个很优秀的算法(自我感觉) 那么稍微讲讲吧。 算法的思想就是每次从已知最短路的点来推出未知的最短路点,有点类似DP的思想。 look 一下代码吧...原创 2018-08-13 22:34:53 · 140 阅读 · 0 评论