最短路径算法
pcccc0616
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Dijkstra算法
这是转的Dijkstra算法想法(部分转)a.初始时,S只包含源点,即S={v},v的距离为0。U包含除v外的其他顶磅点,即:U={其余顶点},若v与U中顶点u有边,则(u,v)正常有权值,若u不是v的出边邻接点,则(u,v)权值为∞。 b.从U中选取一个距离v最小的顶点k,把k,加入S中(该选定的距离就是v到k的最短路径长度)。 c.以k为新考虑的中间点,修改U中各顶点的距离;若从源点v到顶点原创 2017-03-17 11:29:08 · 360 阅读 · 0 评论 -
蒜头君的树
蒜头君的树题解 先存图,再dfs,dfs的过程中统计以x点为子树的点的总数cnt[x],这样可以求出来x和fa[x]连的这条边一共被使用了(n-cnt[x])*cnt[x]次 再求出来最短路之和tot(因为是树,所以最短路好求),对于每次修改,只需要将将差乘上使用次数就好了 #include<iostream> #include<cstdio> using namespace std; l原创 2017-07-31 17:29:07 · 586 阅读 · 0 评论 -
SPFA模板
洛谷2951#include<iostream> #include<cstdio> using namespace std; int n,m,d[200001],x,y,edge,head[500001],maxn,biaohao,sum; struct node{int to,cost,nxt;}a[500001]; int team[1000001],hed,tail; bool v[50000原创 2017-07-20 07:47:22 · 222 阅读 · 0 评论 -
SPFA模板
模板题 代码 #include<iostream> #include<cstdio> int n,m,to[100001],nxt[100001],head[100001],e,hed,tail,dis[100001],stack[100001]; int cost[100001],x,y; bool in[100001]; using namespace std; inline void ad原创 2017-08-10 07:59:40 · 895 阅读 · 0 评论 -
spfa+位运算 2017.10.9 t3
#include<iostream> #include<cstdio> #include<queue> #define Maxn (1<<20)+200005 #define Maxm 400001 using namespace std; int n,m,to[Maxn],nxt[Maxn],head[Maxn],e,val[Maxn],a[Maxm],x,y,dis[Maxn]; bool us原创 2017-10-10 08:25:30 · 245 阅读 · 0 评论
分享