【洛谷P1119】灾后重建【最短路】

单片机如何获得5V电源 在单片机实际设计中,有时会需要在电路中用到5V电压源,那么这个常见的实验需求有哪些办法解决呢,我综合网上的资料,概括一下: 1)USB    这种方法在我们直接将单片机板与电脑连接调试的时候,算是简单又方便的办法了,但如果我所要得到的成品不直接连接外部的器件,这就得舍弃。     常用的,USB/5V插头线,这是一种专门的电源线,一端是USB通用接口,可以直插USB端口,另一端是内正外负电压 阅读详情

题目大意:

题目链接:https://www.luogu.org/problemnew/show/P1119
B B B地区在地震过后,所有村庄都造成了一定的损毁,而这场地震却没对公路造成什么影响。但是在村庄重建好之前,所有与未重建完成的村庄的公路均无法通车。换句话说,只有连接着两个重建完成的村庄的公路才能通车,只能到达重建完成的村庄。
给出B地区的村庄数N,村庄编号从 0 0 0到 N − 1 N-1 N−1,和所有 M M M条公路的长度,公路是双向的。并给出第 i i i个村庄重建完成的时间 t [ i ] t[i] t[i],你可以认为是同时开始重建并在第 t [ i ] t[i] t[i]天重建完成,并且在当天即可通车。若 t [ i ] t[i] t[i]为 0 0 0则说明地震未对此地区造成损坏,一开始就可以通车。之后有 Q Q Q个询问 ( x , y , t ) (x, y, t) (x,y,t),对于每个询问你要回答在第 t t t天,从村庄 x x x到村庄 y y y的最短路径长度为多少。如果无法找到从 x x x村庄到 y y y村庄的路径,经过若干个已重建完成的村庄,或者村庄 x x x或村庄 y y y在第 t t t天仍未重建完成 ,则需要返回 − 1 -1 −1。


思路:

F l o y d Floyd Floyd的用处真是太神了orz
k k k表示枚举可以在限定时间范围内的修通路的点。由于保证了时间递增,直接每次 k + + k++ k++即可。
然后就可以把时间压缩到 O ( n 3 + q ) O(n^3+q) O(n3+q)


代码:

#include <cstdio>
#include <cstring>
#define N 210
using namespace std;

int n,m,tim[N],dis[N][N],t,x,y,z,k;

int main()
{
    scanf("%d%d",&n,&m);
    memset(dis,0x3f3f3f3f,sizeof(dis));
    for (int i=1;i<=n;i++)
     scanf("%d",&tim[i]);  //time是保留字,不可以使用
    for (int i=1;i<=m;i++)
    {
        scanf("%d%d%d",&x,&y,&z);
        x++;
        y++;
        dis[x][y]=z;
        dis[y][x]=z;
    }
    scanf("%d",&t);
    while (t--)
    {
        scanf("%d%d%d",&x,&y,&z);
        x++;
        y++;
        for (;k<=n&&tim[k]<=z;k++)  //这里减少了一重循环,因为保证了单调
        {
            for (int i=1;i<=n;i++)
             for (int j=1;j<=n;j++)
              if (i!=j&&j!=k&&k!=i)
               if (dis[i][j]>(long long)dis[i][k]+dis[j][k])
                dis[i][j]=dis[i][k]+dis[k][j];
        }
        if (dis[x][y]<0x3f3f3f3f&&tim[x]<=z&&tim[y]<=z) printf("%d\n",dis[x][y]);
         else printf("-1\n");
    }
    return 0;
}
360加固DEX解密与ELF修复技术解析 本文深入解析360加固的DEX解密与ELF修复技术,详细介绍了其多层保护机制、Java层入口分析、Native层加载流程及反调试绕过技巧。通过RC4和zlib解密技术,结合Frida工具实现内存Dump和ELF文件修复,为逆向工程师提供实用解决方案。 阅读详情

相关推荐

C++中为什么要引入引用变量?

C++引用机制的设计哲学在于平衡性能与安全性。它解决了指针的三个痛点:语法噪音、空指针风险和语义模糊,同时保持了指针的效率优势。引用必须绑定有效对象且不可重绑定的特性增强了安全性,其值语义语法更直观。尤其在运算符重载和const引用场景中,引用展现了不可替代的优势。本质上,引用是编译器优化的指针实现,体现了C++"零开销抽象"的核心思想——既保持底层性能,又提供高级抽象。这种设计允许开发者根据场景灵活选择指针或引用,反映了C++多范式共存的语言智慧。

教学 & 技术专栏 175

灾后重建

题目背景B地区在地震过后,所有村庄都造成了一定的损毁,而这场地震却没对公路造成什么影响。但是在村庄重建好之前,所有与未重建完成的村庄的公路均无法通车。换句话说,只有连接着两个重建完成的村庄的公路才能通车,只能到达重建完成的村庄。 题目描述给出B地区的村庄数N,村庄编号从0到N-1,和所有M条公路的长度,公路是双向的。并给出第i个村庄重建完成的时间t[i],你可以认为是同时开始重建并在第t[i]天重

happy 961

2026款拯救者Y9000P深度学习环境配置指南

这套环境适配 2026 款拯救者 Y9000P 的 RTX5060,可直接用于 CV(图像分类、检测)、NLP 等 PyTorch 深度学习任务,GPU 利用率正常,无兼容性问题。后续复现环境时,直接按本文步骤操作即可~

大糊涂虫 2637

灾后重建题解

一道题目的题解QAQ

不来也不去的一只失忆蝴蝶 2106

别再手动调时间了!用Windows自带的tzutil命令,1分钟搞定时区错误

本文介绍了如何使用Windows自带的tzutil命令快速解决时区错误问题。通过简单的命令行操作,用户可以一键切换时区、查看全球时区代码库,并实现自动化时区同步。相比传统GUI设置,tzutil更可靠且高效,特别适合企业环境批量部署。

weixin_42531494的博客 314

jaka+realsense+aruco+手眼标定(python)

第二次重建了项目的手眼标定部分……有很多第一次记录遗漏的地方,在此补充。

drivenzyw的博客 2122

蓝桥杯——灾后重建

灾后重建Pear市一共有N(&lt;=50000)个居民点,居民点之间有M(&lt;=200000)条双向道路相连。这些居民点两两之间都可以通过双向道路到达。这种情况一直持续到最近,一次严重的地震毁坏了全部M条道路。震后,Pear打算修复其中一些道路,修理第i条道路需要Pi的时间。不过,Pear并不打算让全部的点连通,而是选择一些标号特殊的点让他们连通。Pear有Q(&lt;=50000)次询问,...

志远的博客 2251

用HFSS复现经典论文:从零搭建带孔缝屏蔽箱体模型(附完整建模步骤与避坑指南)

本文详细介绍了如何使用HFSS电磁仿真软件复现经典论文中的带孔缝屏蔽箱体模型,包括从零搭建模型、设置激励与边界条件、求解优化及结果验证的全过程。特别提供了建模中的布尔运算陷阱、激励设置技巧等实操难点的避坑指南,帮助工程师和学生深入理解电磁屏蔽效能研究。

weixin_30530339的博客 157

灾后重建 解题报告

加时间限制的Floyd

OIER成长之路 661

基于深度学习 YOLOv11 的快递包裹检测系统(Python + PySide6 界面 + 训练代码)

成为亟需优化的重要环节。随着电子商务的快速发展,物流行业面临着越来越大的压力,为了解决这些问题,我们提出了一种。目标检测算法,实现快递包裹的。的界面,供用户进行实时监控。本项目的主要目标是利用。

斌擎科技 762

openbmc 支持mctp over pcie(三)(支持作为endpoint)

本文介绍了在Intel BHS平台上支持MCTP over PCIe端点开发的调试方法。开发基于CodeConstruct和AspeedTech-BMC的开源项目,将内核驱动改为模块形式以便调试。内容包括DTS配置、驱动模块设置步骤,以及如何将BMC配置为端点设备。调试过程涉及内核模块加载、MCTPD启动、参数设置等关键命令,并展示了路由表、地址和邻居信息的测试结果。该方案仅为实验性工作,需注意停止其他使用/dev/aspeed-mctp0接口的应用。

wit_yuan的专栏 1554

洛谷【P1119】 灾后重建

BackgroundB地区在地震过后,所有村庄都造成了一定的损毁,而这场地震却没对公路造成什么影响。但是在村庄重建好之前,所有与未重建完成的村庄的公路均无法通车。换句话说,只有连接着两个重建完成的村庄的公路才能通车,只能到达重建完成的村庄。Description给出B地区的村庄数N,村庄编号从0到N-1,和所有M条公路的长度,公路是双向的。并给出第i个村庄重建完成的时间t[i],你可以认为是同时开始

magical_qting的博客 1338

手把手教你学Simulink——高频隔离型双向DC-AC逆变器的建模与仿真

本文系统讲解高频隔离型双向DC-AC逆变器的Simulink建模与仿真,基于DAB+全桥逆变两级拓扑,详述DAB移相控制原理、双闭环控制策略及分步仿真搭建流程。重点涵盖电路建模、控制环设计、参数设置与常见问题调试,强调模块化分步验证与分层控制逻辑,实现安全、高效、灵活的双向能量流动仿真,适用于储能、微电网等场景的系统开发与验证。

MHD0815的博客 107

【洛谷 P1119】灾后重建【Floyed最短路】

题目背景 题目 BBB地区在地震过后,所有村庄都造成了一定的损毁,而这场地震却没对公路造成什么影响。但是在村庄重建好之前,所有与未重建完成的村庄的公路均无法通车。换句话说,只有连接着两个重建完成的村庄的公路才能通车,只能到达重建完成的村庄。 题目描述 给出BBB地区的村庄数NNN,村庄编号从000到N−1N−1N−1,和所有MMM条公路的长度,公路是双向的。并给出第i个村庄重建完成的时间tit iti,你可以认为是同时开始重建并在第tit iti ​ 天加粗样式重建完成,并且在当天即可通车。若tit it

绫 776

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

洛谷 P1119 灾后重建 【最短路】

题目链接 题意: 一张无向图,有一些村庄(结点)被摧毁了,即与之相连的边被断开,村庄在 TiT_iTi​ 修复完成,QQQ次询问,输出在 t 时,UV之间的最短路,若U、V没有道路能到达输出-1 题解: floyd,主要是 fi,j=min(fi,j,fi,k+fk,j)f_{i,j}=min(f_{i,j},f_{i,k}+f_{k,j})fi,j​=min(fi,j​,fi,k​+fk,j​) 之前为什么不用判断村庄 i,ji,ji,j 是否修复,原因是KKK是作为中转结点,就算 i,ji,ji,j 没

qq_50554695的博客 185

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

洛谷:P1119灾后重建(floyd最短路)

如果无法找到从 xx 村庄到 yy 村庄的路径,经过若干个已重建完成的村庄,或者村庄 xx 或村庄 yy 在第 tt 天仍未重建完成,则需要输出 −1−1。如果在第 tt 天无法找到从 xx 村庄到 yy 村庄的路径,经过若干个已重建完成的村庄,或者村庄 xx 或村庄 yy 在第 tt 天仍未修复完成,则输出 −1−1。第二行包含 NN 个非负整数 t0,t1,⋯ ,tN−1t0​,t1​,⋯,tN−1​,表示了每个村庄重建完成的时间,数据保证了 t0≤t1≤⋯≤tN−1t0​≤t1​≤⋯≤tN−1​。

2301_80718054的博客 940

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

【洛谷】 P1119 灾后重建 最短路floyd算法

题目背景 BB地区在地震过后,所有村庄都造成了一定的损毁,而这场地震却没对公路造成什么影响。但是在村庄重建好之前,所有与未重建完成的村庄的公路均无法通车。换句话说,只有连接着两个重建完成的村庄的公路才能通车,只能到达重建完成的村庄。 题目描述 给出BB地区的村庄数NN,村庄编号从00到N-1N−1,和所有MM条公路的长度,公路是双向的。并给出第ii个村庄重建完成的时间t_it i ​ ,你可以认...

待到山花烂漫时 325

【洛谷P1119】灾后重建【Floyed最短路】

Floyed

ssllyr 272

洛谷P1119: 灾后重建(最短路)

https://www.luogu.org/problemnew/show/P1119 题目背景 B地区在地震过后,所有村庄都造成了一定的损毁,而这场地震却没对公路造成什么影响。但是在村庄重建好之前,所有与未重建完成的村庄的公路均无法通车。换句话说,只有连接着两个重建完成的村庄的公路才能通车,只能到达重建完成的村庄。 题目描述 给出B地区的村庄数N,村庄编号从0到N−1,和所有M条公路的长...

293

洛谷P1119 灾后重建 巧妙使用Floyd算法求最短路

题目链接:https://www.luogu.com.cn/problem/P1119 Floyd算法是让每一个点当中转点看能否使点到点的距离变短,本题就是根据重建时间加入中转点(不是简单的套模板,三重循环),求最短路。 如果该村庄的重建时间小于询问时间,就把这个村庄作为中转点,更新各点的最短路。 代码如下: #include <bits/stdc++.h> using namespa...

hhhcbw的博客,欢迎各位来访 246

【最短路】洛谷P1119 灾后重建

Link 解 细看题目 代码 #include<cstdio> #include<iostream> #include<cmath> using namespace std; int timee = -1, s[300][300], u, v, ww, n, q, m, t[300], qt, cz = -1; int read(){ int x = 0; char c = getchar(); while(c > '9' || c < '0')

鲤の游 160

洛谷 P1119 灾后重建 (Floyd最短路)

题意 图上有N(N≤200)N (N\leq 200)N(N≤200)个节点和MMM条带权无向边,每个节点都有一个时间tit_iti​,表示这个节点在时间tit_iti​才会出现。现在给出(Q≤5×104)(Q\leq 5\times 10^4)(Q≤5×104)个查询,求在时间ttt的时候xxx,yyy两个节点之间的最短路。 解题思路 查询任意两个节点是最短路的算法肯定非Floyd莫属了,但是F...

u013738000的博客 171

洛谷 P1119 灾后重建 最短路+Floyd算法

目录 题面 题目链接 题目描述 输入输出格式 输入格式 输出格式 输入输出样例 输入样例 输出样例 说明 思路 AC...

weixin_30486037的博客 166

【题解】洛谷P1119 灾后重建(floyed算法)

因为要让每个节点都被考虑到一次,即都被传入floyed一次,所以mid一步一步走,最终所有节点都会被当作中间点传入floyed一次。注意题目和模版的区别,根据区别,优化代码,有可能需要我们优化时间复杂度,这时看看哪个for可以优化,优化的时候,考虑到数据的单调性。mid只要走到2就能保证所有的<=T的节点被考虑到了,因为t数组是单调递增的,不会出现 1 2 3 4 2的情况。而结合这道题中,只有当结点的修建时间<=T时,才能通过,加上t数组的数据和T都是单调递增。而floyed里面又有3层循环。

aA467646767的博客 654

洛谷P1119|灾后重建|最短路|Floyd|Floyd的拓展

题目描述 分析 考虑本题: 只通过修好的前几个村庄,从i->j的最短路,联想到 Flyod算法: 初始化: f[][]=INF; f[i][i]=0; for(int k=1;k<=n;k++) for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) dist[i][j]=min(...

aozhu1375的博客 161

【一只蒟蒻的刷题历程】 【洛谷】P1119-灾后重建 (最短路Floyed)(容易理解!!!)

题目背景 BB地区在地震过后,所有村庄都造成了一定的损毁,而这场地震却没对公路造成什么影响。但是在村庄重建好之前,所有与未重建完成的村庄的公路均无法通车。换句话说,只有连接着两个重建完成的村庄的公路才能通车,只能到达重建完成的村庄。 题目描述 给出BB地区的村庄数NN,村庄编号从0到N-1,和所有MM条公路的长度,公路是双向的。并给出第ii个村庄重建完成的时间ti,你可以认为是同时开始重建并在第ti天重建完成,并且在当天即可通车。若ti为0则说明地震未对此地区造成损坏,一开始就可以通车。之后有Q个询问(x,

黑桃 364
上一篇: 斐波拉契数列IV【矩阵乘法】
下一篇: 【洛谷P1228】地毯填补问题【分治】【递归】【DFS】
stoorz1023
博客等级 码龄9年 101粉丝 595原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值