题意:

如题。

思路:

本题实际上是一个广播模型,初始时指挥部将一条广播发出去,它会向所有与它连有边的节点传输广播每个节点接收到信息以后又会向与各自连有边的节点发出广播,同时每个节点都是会反向广播的(无向边)。

题目问的是:整个网络的所有节点都接到信息一共需要多少时间?

我们先考虑一下对于每个节点接收到指挥部的信息需要多少时间:从指挥部当前点每一条路径都会成为一个广播的途径,那么当前点第一次接收到广播的时间显然就是所有路径中最短的那个(即指挥部当前点最短距离)。

因此本题核心在于:对于每个点来说,它第一次接受到广播的时间等于指挥部到它的最短距离

我们分别求得指挥部到每个点的最短路径,输出所有最短路径的max即可,它代表的是最晚接受到第一次信息的节点花了多少时间。

如果我们发现某一个点求的最短路径是+∞,说明这个点和指挥部不连通,输出-1即可。

本题数据范围很小n<=100,我们直接用floyd算法(O(n^3))练练手,当然还可以用朴素dijk、堆优化dijkbellman_ford算法、spfa算法 进行求解。

时间复杂度:

O(n^3)

代码:

#include<bits/stdc++.h>using namespace std;
const int N = 110, M = 420;
#define inf 0x3f3f3f3f
int d[N][N], g[N][N];
int n, m;void init()
{for(int i=1;i<=n;++i){for(int j=1;j<=n;++j){d[i][j] = inf;if(i==j) d[i][j] = 0;}}
}void floyd()
{for(int k=1;k<=n;++k){for(int i=1;i<=n;++i){for(int j=1;j<=n;++j)d[i][j] = min(d[i][j], d[i][k]+d[k][j]);}}
}int main()
{cin>>n>>m;init();for(int i=0;i<m;++i){int a, b, w;cin>>a>>b>>w;d[a][b] = d[b][a] = min(d[a][b], w);}floyd();if(d[1][n]==inf) {cout<<-1<<endl; return 0;}int res = -1;for(int i=1;i<=n;++i) res=max(res, d[1][i]);cout<<res<<endl;return 0;
}

AcWing 1128. 信使(floyd 广播模型)相关推荐

  1. 算法提高课-图论-单源最短路的建图方式-AcWing 1128. 信使:dijkstra、 最短路取最大值

    题目分析 来源:acwing 分析:广播模型,求整个网络所有点都被广播到,需要多少时间. 本题核心:对于每个点来说,它接收到信的时间,是等于它到指挥部的最短距离. 所以,所有点被广播到,就是求指挥部到 ...

  2. AcWing 1128 信使【最短路】

    题目描述: 战争时期,前线有 n 个哨所,每个哨所可能会与其他若干个哨所之间有通信联系. 信使负责在哨所之间传递信息,当然,这是要花费一定时间的(以天为单位). 指挥部设在第一个哨所. 当指挥部下达一 ...

  3. 1128 信使(floyd算法)

    1. 问题描述: 战争时期,前线有 n 个哨所,每个哨所可能会与其他若干个哨所之间有通信联系.信使负责在哨所之间传递信息,当然,这是要花费一定时间的(以天为单位).指挥部设在第一个哨所.当指挥部下达一 ...

  4. 算法——AcWing算法提高课中代码和题解

    文章目录 第一章 动态规划 (完成情况:64/68) 数字三角形模型 最长上升子序列模型 背包模型 状态机模型 状态压缩DP 区间DP 树形DP 数位DP 单调队列优化DP 斜率优化DP 第二章 搜索 ...

  5. AcWing算法提高课

    1. 动态规划(43/68) 1.1 数字三角形模型(4/4) 1.1.1 AcWing 1015. 摘花生 结论: f[i][j]=max⁡(f[i−1][j],f[i][j−1])+w[i][j] ...

  6. 单/全源最短路的综合应用(未完待续...)

    目录 一.单源最短路 1.1 AcWing 1129. 热浪 1.2 AcWing 1128. 信使 1.3 AcWing 1127. 香甜的黄油 1.4 AcWing 1126. 最小花费 1.5 ...

  7. 算法提高课-搜索-最小步数模型-AcWing 1107. 魔板:bfs、复杂、八数码类似的题目

    题目分析 来源:acwing 分析: 最小步数模型常用哈希 按照ABC的顺序来搜,得到的是字典序最小的. 这里整幅"图"是一个状态, 装进一个字符串中,然后一个状态改变到另一个状态 ...

  8. AcWing算法提高课 Level-3 第三章 图论

    单源最短路的建图方式 1129. 热浪 思路 :单源最短路算法中除了bellmanford一般不用以外,普D为O(n2)O(n^2)O(n2),优D为O(m∗logn)O(m*logn)O(m∗log ...

  9. AcWing算法题常用代码模板

    一.基础算法 1.常用代码模板 快速排序算法模板 -- 模板题 AcWing 785. 快速排序 算法步骤: ​ ①确定分界点 ​ ②调整区间 ​ ③递归处理左右两段 Tips: ​ ①如果输入数据量 ...

最新文章

  1. 因时而动 顺势而为——广告人独家专访快友股份CEO林森
  2. excel如何分类汇总_Excel教程:一个排序后分类汇总他弄了一天 Excel神技能!
  3. iOS开发 - OC - block的详解 - 基础篇
  4. React 快速上手 - 目录索引
  5. 无线路由能当AP用吗?
  6. 并发编程模型Akka
  7. java 从sip服务器_如何通过域而不是IP地址注册到SIP服务器并从客户端创建SIP帐户?...
  8. 【c++】随机生成车牌号
  9. 芯烨打印机android驱动,80mm芯烨打印机所有驱动
  10. 一些开源的IOS项目(wifi扫描 条形码扫描 tcp/ip 等等)
  11. 又是被自己菜哭的一天。。
  12. 典型相关分析(cca)原理_全网最细的图文详解——手把手教你不会代码一样做RDA/CCA分析!...
  13. 小技巧(8):Word中自定义目录,并设置自动目录的格式
  14. 手机内存卡大小的计算
  15. Android系统编译aosp
  16. 微信公众平台接口程序搜索音乐
  17. GitLab 安全漏洞 (CVE-2016-4340)复现
  18. lazada各国家站点讲解
  19. 小红书流量不好数据差,怎么解决?
  20. kali 虚拟机下 mana-toolkit 的安装

热门文章

  1. 2023 EmlogPro Ultra简约博客主题模板源码 自适应手机
  2. 题解【洛谷】P1002 过河卒
  3. hadoop fs、hadoop dfs和hdfs dfs的区别
  4. linux中i2c的ioctl,write,read函数的使用
  5. PHP获取ip所在城市
  6. 十步学习法(内容摘要)
  7. 前端js获取文件名、后缀,截取文件名后缀、多个小数点完整文件后缀
  8. 【正厚软件】0基础学IT,来Linux的发展历史吧
  9. 年薪200万数据库牛人牛新庄的成长历程
  10. 深入了解区块链中的挖矿过程及其意义