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

建一个类似淘宝的网站需要多少钱承德网络推广

建一个类似淘宝的网站需要多少钱,承德网络推广,产品网站设计理念,秦皇岛网站设计公司链接:P3385 【模板】负环 - 洛谷 题目: 思路: 考察 Bellman-Ford 或 SPFA 本题是一个板子题,也是学到了 Bellman-Ford 和 SPFA Bellman-Ford 算法的主要思想其实类似迪杰斯特拉,我们暴力枚举每一个点的每一条边&…

链接:P3385 【模板】负环 - 洛谷

题目:

思路:

考察 Bellman-Ford 或 SPFA

本题是一个板子题,也是学到了 Bellman-Ford 和 SPFA

Bellman-Ford 算法的主要思想其实类似迪杰斯特拉,我们暴力枚举每一个点的每一条边,如果能更新最小距离,那么就替换,同时标记该次我们进行了松弛操作,通常情况下 n-1 次松弛操作后我们就能找到最短路了,但是由于可能存在负环,因此我们要注意多判断一次

负环顾名思义就是权值为负的环,既然它为负,那么我们就可以走无数次使得这个环的权值无限小

SPFA 则是利用队列进行了优化,也类似迪杰斯特拉的队列优化,这次我们不再暴力枚举每个点,而是枚举队列中可能更新的点,那么什么情况下可能更新呢?显然是上次更新过的点下次才可能继续更新,因此我们就要提供三个新东西,一个是判断该点是否已经在队列中,一个是判断该点入队了几次,还一个就是队列了

下面提供两个算法的代码

代码:

#include <iostream>
#include <algorithm>
#include<cstring>
#include <iomanip>
#include<cctype>
#include<string>
#include <set>
#include <vector>
#include <cmath>
#include <queue>
#include <unordered_set>
#include <map>
#include <unordered_map>
#include <stack>
#include <utility>
#include <array>
#include <tuple>
using namespace std;
#define int long long
#define yes cout << "YES" << endl
#define no cout << "NO" << endlvoid solve()
{int n, m;cin >> n >> m;vector<vector<pair<int,int>>> g(n + 1);for (int i = 0; i < m; i++){int u, v, w;cin >> u >> v >> w;if (w >= 0){g[u].push_back({ v,w });g[v].push_back({ u,w });}else{g[u].push_back({ v,w });}}int flag = 0;vector<int> dis(n + 1, 1e18);dis[1] = 0;for (int i = 1; i <= n; i++){flag = 0;for (int i = 1; i <= n; i++){if (dis[i] == 1e18) continue;for (auto &son : g[i]){if (dis[son.first] > dis[i] + son.second){dis[son.first] = dis[i] + son.second;flag = 1;}}}}flag ? yes : no;
}
signed main()
{//cin.tie(0)->sync_with_stdio(false);int t = 1;cin >> t;while (t--){solve();}return 0;
}
#include <iostream>
#include <algorithm>
#include<cstring>
#include <iomanip>
#include<cctype>
#include<string>
#include <set>
#include <vector>
#include <cmath>
#include <queue>
#include <unordered_set>
#include <map>
#include <unordered_map>
#include <stack>
#include <utility>
#include <array>
#include <tuple>
using namespace std;
#define int long long
#define yes cout << "YES" << endl
#define no cout << "NO" << endlvoid solve()
{int n, m;cin >> n >> m;vector<vector<pair<int,int>>> g(n + 1);for (int i = 0; i < m; i++){int u, v, w;cin >> u >> v >> w;if (w >= 0){g[u].push_back({ v,w });g[v].push_back({ u,w });}else{g[u].push_back({ v,w });}}vector<int> dis(n + 1, 1e18);vector<int> vis(n + 1, 0);vector<int> cnt(n + 1, 0);queue<int> q;q.push(1);dis[1] = 0;vis[1] = 1;while (!q.empty()){auto t = q.front();q.pop();vis[t] = 0;for (auto son : g[t]){if (dis[son.first] > dis[t] + son.second){dis[son.first] = dis[t] + son.second;cnt[son.first] = cnt[t] + 1;if (cnt[son.first] >= n){yes;return;}if (!vis[son.first])q.push(son.first), vis[son.first] = 1;}}}no;
}
signed main()
{//cin.tie(0)->sync_with_stdio(false);int t = 1;cin >> t;while (t--){solve();}return 0;
}

 

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

相关文章:

  • 一站式做网站多少钱国外网站seo免费
  • 北京网站建设公司排名无货源电商怎么做
  • mp3网站源码seo外链优化策略
  • 主机 可以 多少 网站免费的域名和网站
  • 做网站比较好今日热点新闻大事件
  • 温州正规制作网站公司查询网站备案信息
  • 台商网站建设公司黄页谷歌广告上海有限公司官网
  • 长沙口碑好的做网站公司哪家好seo包括哪些方面
  • 定州哪里可以做网站今天全国疫情最新消息
  • 销售网站制作个人微信管理系统
  • 手机做兼职的网站设计网络推广策划方案怎么写
  • 网站建设推广案例个人网站创建平台
  • 做静态网站的开题报告qq推广链接
  • 做一网站百度推广代理加盟
  • 网站出错 图片学校网站模板
  • 做视频网站视频网络营销策略分析论文
  • wordpress vlturseo排名软件
  • 网站体验优化作品推广
  • 百度搜索网站的图片seo免费教程
  • 东莞家具行业营销型网站建设多少钱中央新闻联播
  • 简述网站建设的主要内容网络课程
  • 英迈思网站做不下去可以退款吗优化培训方式
  • 购物手机网站怎么做谈谈你对seo概念的理解
  • 在家帮别人做网站赚钱吗如何设计网站的首页
  • 网站备案接入服务单位百度推广客服人工电话多少
  • 营销网站建设收费免费拓客软件排行榜
  • 响应式网站建设开发公司长沙网站seo哪家公司好
  • wordpress 本地运行防疫优化措施
  • 做网站如何找项目军事新闻
  • 大连甘井子区人民医院seo优化在线诊断