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

北京做网站制作的公司哪家好广州做网站公司电话

北京做网站制作的公司哪家好,广州做网站公司电话,微网站中定位功能怎么做的,晋江网站建设联系电话B e l l m a n — F o r d Bellman—Ford Bellman—Ford是一种单源最短路径算法#xff0c;可以用于边权为负的图#xff0c;但是只能用于小图。 大概过程#xff1a; 枚举每一条边#xff0c;更新可以更新的节点#xff08;起点到自己距离为 0 0 0#xff0c;从地点开… B e l l m a n — F o r d Bellman—Ford Bellman—Ford是一种单源最短路径算法可以用于边权为负的图但是只能用于小图。 大概过程 枚举每一条边更新可以更新的节点起点到自己距离为 0 0 0从地点开始向外。重复第一个步骤 n − 1 n - 1 n−1次起点不用每一轮至少有一个节点会被更新出最短路径和 D i j k s t r a Dijkstra Dijkstra中用到的贪心思想有点像。 Dijkstra传送门 算法复杂度很明显需要 n − 1 n - 1 n−1个点都需要枚举一次每次都需要枚举 m m m条边复杂度为 O ( n m ) O(nm) O(nm)。 同时这个算法还可以判断是否存在负环。只要更新完 n − 1 n - 1 n−1次后还有点可以被更新最短路那就是存在负环的因为只有负环是每走一圈路径长度都会往下减就可以无限更新而正常图我们只要枚举 n − 1 n - 1 n−1遍。 也可以记录每个节点最短路的路径。前面发过的最短路算法应该也有可以参考 B e l l m a n F o r d Bellman_Ford BellmanF​ord的处理办法 同样的通过例题理解代码。 【模板】Bellman-Ford算法-StarryCoding | 踏出编程第一步 题目描述 n n n点 m m m边的带负权有向图连通可能存在重边与自环求 1 1 1到所有点的单源最短路的距离。 保证结点 1 1 1可以到达所有结点。 如果图中存在负环则只输出一个整数 − 1 −1 −1。 输入描述 第一行两个整数 n , m 。 ( 2 ≤ n , m ≤ 1 × 1 0 4 ) n, m。(2 \leq n , m \leq 1 \times 10^4) n,m。(2≤n,m≤1×104) 接下来 m m m行每行一条单向边 x , y , z x,y,z x,y,z表示存在一条从 x x x到 y y y的距离为 z z z的通道。 ( 1 ≤ x , y ≤ n , − 1 0 9 ≤ z ≤ 1 0 9 ) (1 \leq x, y \leq n, -10^9 \leq z \leq 10^9) (1≤x,y≤n,−109≤z≤109) 输出描述 一行 n n n个整数第 i i i个整数表示从点 1 1 1到点 n n n的最短距离。 如果图中存在负环则只输出一个整数 − 1 −1 −1。 输入样例1 5 5 1 2 1 2 3 -2 3 4 1 4 5 6 1 5 -5输出样例1 0 1 -1 0 -5解 #includebits/stdc.h using namespace std; const int N 2e5 9; using ll long long; const ll inf 2e18;struct Edge {int x;ll w; };int n, m; vectorEdge g[N]; ll d[N]; //记录前驱节点用于打印路径。 // int pre[N];void print(int s, int t) //打印路径用的 {if(s t){cout s ;return;}print(s, pre[t])cout t ; }void solve() {cin n m;for(int i 1; i m; i){int u, v;ll w; cin u v w;g[u].push_back({v, w});}//d[i]表示从起点到点i的距离。for(int i 1; i n; i) d[i] inf;d[1] 0;bool circle; //判断负环最后一次出来之后还是true就是一直在更新有负环for(int i 1; i n; i) //枚举n遍{circle false;for(int x 1; x n; x) //枚举每天边{for(auto [y, w] : g[x]){if(d[x] w d[y]) //如果能更新{d[y] d[x] w;// pre[x] y; 如有需要记录路径circle true;}}}}if(circle) cout -1 \n;else{for(int i 1; i n; i) cout d[i] ;} }int main() {ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);int _ 1;while(_--) solve();return 0; }易错提醒还是别忘记初始化别忘记初始化别忘记初始化。 P S PS PS:这个代码过不了这个例题数据范围略大需要优化成 s p f a spfa spfa算法。
http://www.dnsts.com.cn/news/50485.html

相关文章:

  • 手机网站多少钱一个网站建设后怎么
  • 太原微信网站微信软文
  • 东营建设企业网站重庆seo薪酬水平
  • 学院网站建设计划网站建设 付款方式
  • vs2017 做网站跨境电商个人可以做吗
  • 网站模板怎么使用教程舆情系统排名
  • wordpress post 插件台州关键词优化服务
  • 网络科技有限公司网站建设昆明专业建站
  • wordpress上传后设置密码黑帽seo怎么做网站排名
  • asp.net个人网站空间不要轻易注册一家公司
  • 做网站制作wordpress 头像上传路径
  • 网站建设费用要多少房地产网站建设内容
  • 成都摄影网站建设做催收的网站
  • 免费学做淘宝的网站网站公司做的网站被攻击
  • 自己网站建设的流程是什么wordpress 3.4.2 漏洞
  • 美克美家网站建设广州地域推广
  • 做电影网站怎么接广告做网站的准备什么软件
  • 网站可信做疏通什么网站推广好
  • 大气全屏通用企业网站整站源码聊城网站设计咨询
  • 家用网络建网站价格便宜的网站建设
  • 网站模版整站下载调用wordpress媒体库上传
  • 重庆网站建设帝维科技淘宝不能开网站建设店铺吗
  • 合肥网站建设正规公司wordpress 发布软件
  • 企业网站的建立主要用于企业内部发布信息海安网页设计
  • 3个典型网站建设公司有没有建筑学做区位分析的网站
  • 广州番禺职业技术学院门户网站柳州哪家网站建设专业
  • 网站开发语言占有率下载赶集网招聘最新招聘
  • 做旅游网站一年能挣多少自建团体电子商务网站建设成本
  • 公司培训网站需要广播证吗网站的footer怎么做
  • 自己做网站统计安徽海绵城市建设协会网站