当前位置: 首页 > wzjs >正文

可以做项目的网站seo排名技术软件

可以做项目的网站,seo排名技术软件,企业营销培训,wordpress媒体库代码SPFA算法其实是对Bellman-ford算法的优化,Bellman-ford算法更新最短路是采用的是遍历每一条边,找到最短的边进行更新d[v]min(d[v],d[u]w(u,v)),由 d[v]min(d[v],d[u]w(u,v))可知只有当 d[ u ]变小时才有可能更新,所以用一个队列存…

SPFA算法其实是对Bellman-ford算法的优化,Bellman-ford算法更新最短路是采用的是遍历每一条边,找到最短的边进行更新d[v]=min(d[v],d[u]+w(u,v)),由 d[v]=min(d[v],d[u]+w(u,v))可知只有当  d[ u ]变小时才有可能更新,所以用一个队列存储每次变化的点,便于更新操作

算法步骤

初始化:设源点为s,将源点s加入队列,初始化源点到自身的距离为0,即d[s]=0,其他点到源点的距离初始化为无穷大∞。

队列操作与松弛:从队列中取出一个顶点u,遍历u的所有邻接顶点v,如果d[v]>d[u]+w(u,v)(其中w(u,v)是边(u,v)的权值),则更新d[v]=d[u]+w(u,v),且若v不在队列中,将v加入队列。

重复操作:重复步骤 2,直到队列为空。

判断负环:在执行过程中,如果某个顶点入队次数超过n−1次(n为图中顶点的个数),则说明图中存在负环,不存在从源点到其他顶点的最短路径。

例:

给定一个 n 个点 m 条边的有向图,图中可能存在重边和自环, 边权可能为负数

请你求出 1 号点到 n 号点的最短距离,如果无法从 1 号点走到 n 号点,则输出 impossible

数据保证不存在负权回路。

输入格式

第一行包含整数 n 和 m。

接下来 mm 行每行包含三个整数 x,y,z,表示存在一条从点 x 到点 y 的有向边,边长为 z。

输出格式

输出一个整数,表示 1 号点到 n 号点的最短距离。

如果路径不存在,则输出 impossible

数据范围

1≤n,m≤105,
图中涉及边长绝对值均不超过 10000。

输入样例:
3 3
1 2 5
2 3 -3
1 3 4
输出样例:
2

#include<iostream>
#include<cstring>
#include<algorithm>
#include<queue>using namespace std;typedef pair<int,int >PII;const int N = 1e6+10;
int h[N],w[N],ne[N],e[N],idx;
bool st[N];//标记点是否存在队列当中
int dist[N];
int n,m;void add(int x,int y,int z){e[idx]=y;w[idx]=z;ne[idx]=h[x];h[x]=idx++;
}void spfa(){memset(dist,0x3f,sizeof dist);dist[1]=0;queue<int> q;q.push(1);st[1]=true;//将1号点加入队列并标记为已存在while(q.size()){int t=q.front();q.pop();//每次取出队头元素并删除队头元素st[t]=false;for(int i=h[t];i!=-1;i=ne[i]){//遍历t的所有出边进行更新int j=e[i];if(dist[j]>dist[t]+w[i]){dist[j]=dist[t]+w[i];if(!st[j]){q.push(j);st[j]=true;}}}}}int main(){memset(h,-1,sizeof h);scanf("%d%d",&n,&m);while(m--){int x,y,z;scanf("%d%d%d",&x,&y,&z);add(x,y,z);}spfa();if(dist[n]==0x3f3f3f3f)printf("impossible");else printf("%d",dist[n]);return 0;
}

http://www.dtcms.com/wzjs/61402.html

相关文章:

  • 河南建设网站公司哪家好平谷头条新闻
  • 南通经济开发区城乡建设局网站深圳白帽优化
  • 深圳网站建设电话有没有帮忙推广的平台
  • 外宣做网站宣传线上宣传方式有哪些
  • 深圳企业网站建设怎么做个人网站设计图片
  • dw制作简单网站模板网站制作公司
  • 宝安中心地铁站时间表上海最新新闻热点事件
  • 国家电网账号注册网站帐号是什么搜索引擎谷歌入口
  • 关于数据机房建设的网站域名买卖交易平台
  • 做游戏用什么电脑系统下载网站好东莞网站推广排名
  • 护士证注册网站移动网站推广如何优化
  • 深圳网站品牌建设有哪些免费推广网站
  • 日本做鸡做爱成人网站播放seo工作流程
  • 个人网站站长网络推广和网站推广平台
  • 非遗网站建设目的找人帮忙注册app推广
  • 嘉兴市建设官方网站互联网培训机构排名前十
  • 怎么讲解网站做网上营销怎样推广
  • 外贸加工订单乐山网站seo
  • 济南建设网站公司平台营销
  • 画册设计制作东营seo网站推广
  • 怎么用自己的电脑做网站企业网站设计图片
  • 二手车网站建设论文cms快速建站
  • 口味王网站建设可行分析表网页设计软件
  • 优秀企业网站流氓网站
  • 重庆网站托管百度推广怎么推
  • 做好的网站启用新冠病毒最新消息
  • 好用的网站建设英语培训
  • 买CAD设计图做的网站产品推广软件有哪些
  • 网站建设的过程包括几个阶段seo免费教程
  • 通过邮箱查注册网站百度公司招聘官网最新招聘