题目连接

https://www.acwing.com/problem/content/description/4246/

http://poj.org/problem?id=1502

思路

没啥好说的就是一个裸的求单源最短路,只不过边的信息建立需要自己判断是否存在,范围在100以内,那么基本上所有的最短路都能过,我这里就给出迪杰斯特拉和Floyd的代码

代码

迪杰斯特拉

#include<iostream>
#include<cstring>
#include<algorithm>
#include<cstdio>
#include<vector>
#include<queue>
using namespace std;
#define PII pair<int,int>
const int INF = 0x3f3f3f3f;
const int N = 1e2+10;int n,dis[N];
bool vis[N];struct Node{int v,w;
};
vector<Node> E[N];int toint(string s){int res = 0;for(int i = 0,l = s.size();i < l; ++i) res = res * 10 + s[i] - '0';return res;
}void DJ(int s){for(int i = 1;i <= n; ++i) dis[i] = INF;priority_queue<PII,vector<PII>,greater<PII> > que;que.push({0,s});dis[s] = 0;while(!que.empty()){int t = que.top().second;que.pop();if(vis[t]) continue;vis[t] = true;for(int i = 0,l = E[t].size();i < l; ++i) {int j = E[t][i].v;int w = E[t][i].w;if(dis[j] > dis[t] + w){dis[j] = dis[t] + w;que.push({dis[j],j});}}}
}int main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin>>n;string num;for(int i = 2;i <= n; ++i)for(int j = 1;j < i; ++j){cin>>num;if(num != "x"){int w = toint(num);E[i].push_back({j,w});E[j].push_back({i,w});}}DJ(1);int ans = 0;for(int i = 1;i <= n; ++i) ans = max(ans,dis[i]);cout<<ans<<endl;return 0;
}

Floyd

#include<iostream>
#include<cstring>
#include<algorithm>
#include<cstdio>
#include<vector>
#include<queue>
using namespace std;
#define PII pair<int,int>
const int INF = 0x3f3f3f3f;
const int N = 1e2+10;int n,f[N][N];int toint(string s){int res = 0;for(int i = 0,l = s.size();i < l; ++i) res = res * 10 + s[i] - '0';return res;
}void Floyd(){for(int k = 1;k <= n; ++k) for(int i = 1;i <= n; ++i) for(int j = 1;j <= n; ++j)f[i][j] = min(f[i][k] + f[k][j],f[i][j]);
}int main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin>>n;for(int i = 1;i <= n; ++i)for(int j = 1;j <= n; ++j)f[i][j] = i==j?0:INF;string num;for(int i = 2;i <= n; ++i)for(int j = 1;j < i; ++j){cin>>num;if(num != "x")f[i][j] = f[j][i] = min(f[i][j],toint(num));}Floyd();int ans = 0;for(int i = 1;i <= n; ++i) ans = max(ans,f[1][i]);cout<<ans<<endl;return 0;
}

AcWing 4243. 传递信息(单源最短路)相关推荐

  1. 算法提高课-图论-差分约束- AcWing 1169. 糖果:spfa求单源最短路、差分约束

    文章目录 题目分析 题目链接 题目分析 来源:acwing 分析: 差分约束系统 差分约束系统是一种特殊的N元一次不等式组.它包含N个变量X1,...,XnX_1,...,X_nX1​,...,Xn​ ...

  2. 算法提高课-图论-单源最短路的综合应用-AcWing 1135. 新年好:dijkstra和dfs暴搜结合

    题目分析 来源:acwing 分析: 先预处理出从1,a,b,c,d,e出发到其他所有点的单源最短路.存在二维数组dist[6][N]中 dfs暴搜所有拜访顺序,共有5!种,对于每一种拜访顺序,可以通 ...

  3. 算法提高课-图论-单源最短路的建图方式-AcWing 920. 最优乘车:bfs求最短路、建图

    题目分析 来源:acwing 分析: 本题难在抽象建图上,这里采用的建图方式是:同一条公交线路上,前面的站点都可以连一条有向边到其后面的站点,且边权都为1. 由于边权都是1,可以用bfs来求最短路. ...

  4. acwing单源最短路的建图模式总结

    .根据边权的范围以及问题求解的需要,最短路问题可以分为以下 4 种情形,分别用不同的算法求解. • 单源最短路径(固定一个顶点为原点,求源点到其他每个顶点 的最短路径) • 1. 边权非负:Dijks ...

  5. CSP认证201609-4 交通规划[C++题解]:最短路径树、dijkstra求单源最短路、递推思想

    题目分析 来源:acwing 分析: 这题是最短路树.保持原图中所有点到根结点的最短距离不变,然后在原图中选择一些边,使所有点连通的最短路是多长. 最短路径树,是一种使用最短路径算法生成的数据结构树. ...

  6. PAT甲级1111 Online Map (30分):[C++题解]两次dijkstra求单源最短路、保存路径、长度最短、时间最短

    文章目录 题目分析 题目链接 题目分析 来源:acwing 分析:dijkstra求单源最短路的题目. 只是写两遍而已,第一遍求按照路径长度求,第二遍按照时间最少求. 另外加一个vector路径的判断 ...

  7. 单源最短路 Dijkstra算法 和 SPFA算法

    单源最短路 •从一个点出发,到达其他顶点的最短路径的长度. •基本操作:松弛 •d[u]+map[u, v]< d[v]这样的边(u,v)称为紧的(tense),可以对它进行松弛(relax): ...

  8. 系兄弟就来砍我 有向图单源最短路

    系兄弟就来砍我 时间限制: 1 Sec  内存限制: 128 MB 题目描述 渣渣灰因为一句"大家好,我系渣渣辉,系兄弟就来砍我"引得众粉丝纷纷拿两米长的大刀寻找. 现有n个据点, ...

  9. 模板:Prime最小生成树堆优化 + Dijkstra单源最短路堆优化

    Dijkstra 单源最短路堆优化 #include<bits/stdc++.h> using namespace std; typedef pair<int, int> PI ...

最新文章

  1. jiebaR中文分词,从入门到喜欢
  2. 用PyTorch实现的李沐《动手学深度学习》,登上GitHub热榜,获得700+星
  3. qt初学者 第一个小程序 小界面
  4. 表格行内编辑增删改查
  5. mysql查询新建查询报错_mysql开启慢查询报错:
  6. PHP十六个魔术方法
  7. phpcms 增加备案号、联系方式等字段
  8. 全面分析RHCE7(红帽认证工程师)考试题目之 ----NFS文件共享 篇
  9. NOIP 2014 解方程
  10. Bootstrap模态框如何垂直居中?
  11. mplab java失败_Microchip工程师社区 - MPLABX用PICC编译失败 - Microchip C语言编译器论坛 - 麦田论坛...
  12. tar -xf_【图】兼具优雅与运动 抢先实拍改款捷豹XF
  13. minic 词法单元建立
  14. 编程语言常见符号集合分享,赶快收藏
  15. 手机计算机如何用科学计算法,手机计算器开根号怎么按(万能科学计算器在线使用方法)...
  16. 7-11 电话聊天狂人 (25分)
  17. 最新机器人视觉系统介绍,给机器人装上“眼睛”
  18. 星起航:抖音小店线上货源渠道
  19. 那些会休息的人是如何度过假期的?
  20. 意外发现:安装搜狗输入法9.8正式版,没出现任何广告弹窗

热门文章

  1. 大端模式和小端模式的再理解
  2. CenterLoss
  3. 【不建议阅读】电脑上腾讯会议录屏:OBS
  4. mybatis 自定义插件的使用
  5. 怎样把Linux的私钥文件id_rsa转换成putty的ppk格式
  6. SAP B1 9.1 跟踪某个查询的执行
  7. 蓝桥杯---2012--比酒量(暴力)
  8. jquery access方法 有什么用
  9. C++视频和讲义下载地址
  10. win10安装git,打开git bash闪退