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

名字做藏头诗的网站广告视频

名字做藏头诗的网站,广告视频,苏州h5建站,淮北哪些企业做网站文章目录 负环spfa找负环方法一方法二实际效果 负环 环内路径上的权值和为负。 spfa找负环 两种基本的方法 统计每一个点的入队次数,如果一个点入队了n次,则说明存在负环统计当前每个点中的最短路中所包含的边数,如果当前某个点的最短路所…

文章目录

  • 负环
  • spfa找负环
  • 方法一
  • 方法二
  • 实际效果

负环

1707991801509.png
环内路径上的权值和为负。

spfa找负环

两种基本的方法

  1. 统计每一个点的入队次数,如果一个点入队了n次,则说明存在负环
  2. 统计当前每个点中的最短路中所包含的边数,如果当前某个点的最短路所包含的边数大于等于n,也说明存在负环

实际上两种方法是等价的,都是判断是否路径包含n条边, n n n条边的话就有 n + 1 n+1 n+1个点
用的更多的还是第二种方法。

方法一

c n t [ x ] : 表示 x 的入队次数 cnt[x]:表示x的入队次数 cnt[x]:表示x的入队次数

#include <bits/stdc++.h> 
#define int long long
#define rep(i,a,b) for(int i = (a); i <= (b); ++i)
#define fep(i,a,b) for(int i = (a); i >= (b); --i)
#define pii pair<int, int>
#define ll long long
#define db double
#define endl '\n'
#define x first
#define y second
#define pb push_back
#define inf 0x3f3f3f3f*1llusing namespace std;void solve()
{int n,m1,m2;cin>>n>>m1>>m2;vector<vector<pii>>g(n+1);rep(i,1,m1){int u,v,w;cin>>u>>v>>w;g[u].pb({v,w});g[v].pb({u,w});}	rep(i,1,m2){int u,v,w;cin>>u>>v>>w;g[u].pb({v,-w});}vector<int>inq(n+1,0);vector<int>cnt(n+1,0);vector<int>d(n+1,0);queue<int>q;rep(i,1,n){q.push(i);inq[i]=1;}while(q.size()){auto t=q.front();q.pop();int u=t;inq[u]=0;for(auto it:g[u]){int v=it.x,w=it.y;if(d[v]>d[u]+w){d[v]=d[u]+w;if(!inq[v]){q.push(v);inq[v]=1;cnt[v]++;if(cnt[v]>=n){cout<<"YES"<<endl;return;}}}}}cout<<"NO"<<endl;
}signed main(){ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
//   	freopen("1.in", "r", stdin);int _;cin>>_;while(_--)solve();return 0;
}

方法二

c n t [ x ] : 表示从起点到 x 所经过的最短路径的边数 cnt[x]:表示从起点到x所经过的最短路径的边数 cnt[x]:表示从起点到x所经过的最短路径的边数

#include <bits/stdc++.h> 
#define int long long
#define rep(i,a,b) for(int i = (a); i <= (b); ++i)
#define fep(i,a,b) for(int i = (a); i >= (b); --i)
#define pii pair<int, int>
#define ll long long
#define db double
#define endl '\n'
#define x first
#define y second
#define pb push_back
#define inf 0x3f3f3f3f*1llusing namespace std;void solve()
{int n,m1,m2;cin>>n>>m1>>m2;vector<vector<pii>>g(n+1);rep(i,1,m1){int u,v,w;cin>>u>>v>>w;g[u].pb({v,w});g[v].pb({u,w});}	rep(i,1,m2){int u,v,w;cin>>u>>v>>w;g[u].pb({v,-w});}vector<int>inq(n+1,0);vector<int>cnt(n+1,0);vector<int>d(n+1,0);queue<int>q;rep(i,1,n){q.push(i);inq[i]=1;}while(q.size()){auto t=q.front();q.pop();int u=t;inq[u]=0;for(auto it:g[u]){int v=it.x,w=it.y;if(d[v]>d[u]+w){d[v]=d[u]+w;cnt[v]=cnt[u]+1;if(cnt[v]>=n){cout<<"YES"<<endl;return;}if(!inq[v]){q.push(v);inq[v]=1;}}}}cout<<"NO"<<endl;
}signed main(){ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
//   	freopen("1.in", "r", stdin);int _;cin>>_;while(_--)solve();return 0;
}

实际效果

1707997993525.png
1707997579479.png
方法一跑出来的结果是 1024 m s 1024ms 1024ms
方法二跑出来的结果是 671 m s 671ms 671ms

http://www.zhongyajixie.com/news/63311.html

相关文章:

  • 石家庄信息门户网站制作费用网址导航下载到桌面
  • 大网站制作百度商家版下载
  • wordpress教程阿里云宁波seo超级外链工具
  • 17网一起做网店普宁下载钦州seo
  • 论坛门户网站建设营销网站方案设计
  • 北京 工业网站建设公司价格网络优化论文
  • 1688会提供网站建设网站推广开户
  • 织梦网站tag自定义插件广州网络运营课程培训班
  • 企业网站平台如何做网络推广品牌线上推广方式
  • 报社网站开发做什么个人接外包项目平台
  • 安徽华夏网站建设关键词工具网站
  • 成都建设厅官方网站查询百度官方客服电话
  • 做艺术的网站百度图片搜索引擎
  • 室内设计师网名专用seo策略主要包括
  • 网站建设制作汕头关键词优化报价推荐
  • 各大网站发布推广普通话绘画
  • 前端只是做网站吗如何开发网站平台
  • 网站做等报定级工作要多久网络营销的主要方法
  • 人才网招聘网官网杭州seo搜索引擎优化
  • 宝塔 wordpress 多站点专业网店推广
  • 怎么看一个网站做外链广东seo价格是多少钱
  • 做网站用什么云服务器吗游戏推广怎么做引流
  • 云南省网站建设公司推广活动策划方案范文
  • o2o电商平台有哪些?seo是指什么
  • 做百度手机网站优化快宁波网络推广优化公司
  • 路桥做网站的公司有哪些seo门户网
  • 社交手机网站开发文件外链
  • 网站下模板做网站犯法百度一下浏览器下载安装
  • iis如何做同时运行两个网站80端口优化关键词具体要怎么做
  • 衡水企业网站建设费用优化seo招聘