机房——蓝桥杯十三届2022国赛大学B组真题

在这里插入图片描述
问题分析
这题用深搜广搜都能做,不过我更倾向于用广搜,因为广搜能更容易找到目标点。那么是采用结构体存储边还是采用二维数组存储临接矩阵呢?我们注意到n的取值范围为1e5,用二维数组哪怕是bool类型就需要至少1e10Byte的连续空间,这个空间太大了,申请不了,所有不能用二维数组。(悄悄告诉你,其实是可以的申请一个1e4 × \times × 1e4的二维数组,也能过,大概测试点的n值不会到达1e5,这属于出题人的失误了哈哈哈,他的意思还是想我们用结构体存储边来存储图的)

AC_Code

#include <bits/stdc++.h>
using namespace std;
vector<int> vec(N,0);//vec[i]:i结点有多少个邻接边
int n,m,a,b,result;
struct ed{int a,b;//两端结点
};
vector<ed> eds;//存储所有边
int bfs(int a,int b){if(a==b)return vec[a];//若起终相同queue<int> que;que.push(a);vector<int> visit(n+1,-1);//记录该点到各点的距离,初始化为-1visit[a]=vec[a];while(!que.empty()){int now=que.front();que.pop();for(int i=0;i<eds.size();i++){if(eds[i].a==now&&visit[eds[i].b]==-1){//如果该边与该点邻接且另一端未访问visit[eds[i].b]=visit[now]+vec[eds[i].b];//更新if(eds[i].b==b){//若达到目标点则返回return visit[b];}que.push(eds[i].b);}}}return visit[b];
}
int main() {cin>>n>>m;for(int i=0;i<n-1;i++){cin>>a>>b;eds.push_back({a,b});//a——>beds.push_back({b,a});//b——>avec[a]++;vec[b]++;}for(int i=0;i<m;i++){cin>>a>>b;cout<<bfs(a,b)<<endl;}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/8452.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

5V升8.4V2A升压恒压WT3231

5V升8.4V2A升压恒压WT3231 WT3231 是一种高性能直流-直流&#xff08;DC-DC&#xff09;转换器&#xff0c;集成了能够承受10A电流和26mΩ低导通电阻的功率MOSFET。该转换器能提供高达12V的稳定输出电压&#xff0c;并具有固定600KHz开关频率&#xff0c;使得小型外部电感和电…

解决github无法克隆私有仓库,Repository not found问题(2024最新)

一、背景 这个问题出现&#xff0c;是你用了其他主机设备&#xff0c;需要重新clone私有库时&#xff0c;发现一直报找不到仓库&#xff0c;如下报错&#xff1a; remote: Repository not found.二、解决方法 &#xff08;1&#xff09;账号密码方式&#xff08;已不支持&am…

构建自己的docker镜像node.js

学习资源&#xff1a; 构建自己的 Docker 镜像_哔哩哔哩_bilibili 针对其中的一些比较困难的点写篇文章。 以下是对app.js的注释&#xff1a; // 使用 Koa 框架搭建 Node.js 应用的示例代码// 这两行代码引入了 koa 模块&#xff0c;并创建了一个新的 Koa 应用实例&#xf…

C++之QT文本处理QDir、QFileDialog、QStringList、QFile

一、相应的头文件 #include <QFileDialog> #include <QDir> #include <QStringList> 二、简介 1.QFileDialog 实际效果如下&#xff1a;比如需要选择打开的文件夹或者文件名&#xff0c;通过调用资源管理器的方式进行可视化操作。 代码示例为&#xff1a…

gitlab集群高可用架构拆分部署

目录 前言 负载均衡器准备 外部负载均衡器 内部负载均衡器 (可选)Consul服务 Postgresql拆分 1.准备postgresql集群 手动安装postgresql插件 2./etc/gitlab/gitlab.rb配置 3.生效配置文件 Redis拆分 1./etc/gitlab/gitlab.rb配置 2.生效配置文件 Gitaly拆分 1.…

五月加仓比特币

作者&#xff1a;Arthur Hayes Co-Founder of 100x. 编译&#xff1a;Liam 编者注&#xff1a;本文略有删减 (以下内容仅代表作者个人观点&#xff0c;不应作为投资决策的依据&#xff0c;也不应被视为参与投资交易的建议或意见&#xff09;。 从四月中旬到现在&#xff0c;当你…

flask框架的初步认识

flask框架的初步认识 这是一个轻量级的网页框架&#xff0c;在运行后&#xff0c;就相当于服务器&#xff0c;当用户输入URL就会触发对应的事件调用方法&#xff0c;返回给用户一个网页文件&#xff0c;并通过自动识别html标签&#xff0c;来为用户呈现对应的样式和效果&#…

小红书达人置换合作推广怎么做?

小红书作为国内领先的生活方式分享平台&#xff0c;已成为品牌与消费者沟通的重要桥梁。达人置换合作推广&#xff0c;即品牌与小红书上的意见领袖&#xff08;KOL&#xff09;合作&#xff0c;通过他们的影响力推广产品&#xff0c;已成为品牌营销的重要手段。本文伯乐网络传媒…

【光速上手 Hydra 】一行代码自动跑多次实验,Hydra 中的 Multirun 参数如何使用?

Hydra 是一个开源的 Python 框架&#xff0c;简化了研究和其他复杂应用的开发。其关键特性是能够通过组合动态地创建一个分层次的配置&#xff0c;并通过配置文件和命令行进行覆盖。Hydra 的名称来源于其能够运行多个类似的作业 - 就像一个有多个头的九头蛇一样。 主要特性&am…

TikTok 正式起诉美国政府;全新 iPad Pro 将搭载苹果 M4 芯片丨 RTE 开发者日报 Vol.199

开发者朋友们大家好&#xff1a; 这里是 「RTE 开发者日报」&#xff0c;每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE&#xff08;Real Time Engagement&#xff09; 领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「…

机器学习 | 时间序列预测中的AR模型及应用

自回归模型&#xff0c;通常缩写为AR模型&#xff0c;是时间序列分析和预测中的一个基本概念。它们在金融、经济、气候科学等各个领域都有广泛的应用。在本文中&#xff0c;我们将探索自回归模型&#xff0c;它们如何工作&#xff0c;它们的类型和实际例子。 自回归模型 自回…

Rust读写CSV文件 一维Vec类型元素、二维Vec类型元素写入CSV文件

本文主要介绍Rust读写CSV文件方法&#xff0c; Vec类型元素基本操作方法&#xff0c;Rust把一维Vec类型元素、二维Vec类型元素写入CSV文件方法。 实例测试&#xff1a; 要求读“log.csv”文件数据&#xff0c;把“时间”列数据和“次数”列数据写入日志处理结果1.csv文件&…

五一 Llama 3 超级课堂 大完结

首先很感谢上海人工智能实验室和机智流等相关举办单位组织的这个活动&#xff0c;在Llama3发布不多时就让我们可以体验到大模型的进步&#xff0c;回顾整个活动&#xff0c;从内容上看是相当用心的。从A100的提供使用到大模型部署&#xff0c;微调&#xff0c;Agent功能应用和数…

Python中tkinter编程入门1

1 tkinter库简介 tkinter是Python的标准库&#xff0c;用来进行GUI&#xff08;Graphical User Interface&#xff0c;图形用户界面&#xff09;编程。 2 导入tkinter库 tkinter是Python默认的GUI库&#xff0c;因此&#xff0c;IDLE中已经包含了该库&#xff0c;使用时无需…

【网络编程】HTTPS协议详解

引言 HTTPS是HTTP协议的安全版本&#xff0c;通过使用SSL&#xff08;安全套接层&#xff09;或TLS&#xff08;传输层安全&#xff09;协议加密通信&#xff0c;为数据传输提供了保密性、完整性和身份认证。与传统的HTTP相比&#xff0c;HTTPS能够防止敏感信息被窃取、篡改和…

【HTTP下】总结{重定向/cookie/setsockopt/流操作/访问网页/总结}

文章目录 1.请求头2.cookie理解 3.vim跳转/搜索4.setsockopt被重用的意思 5.流操作5.1定位读取指针5.2ifstram::read() 6.总结6.1 百度搜索框搜索功能字符6.2请求uri请求和响应的第一行都有http版本请求内容里有GET /favicon.ico HTTP/1.1 6.3访问网页Fiddler抓包原理&#xff…

树莓派4b测量PM2.5

1.GP2Y1010AU0F粉尘传感器连接图 2. GP2Y1010AU0F工作原理 工作原理 传感器中心有个洞可以让空气自由流过,定向发射LED光,通过检测经过空气中灰尘折射过后的光线来判断灰尘的含量。 3.源代码 main.py # coding=UTF-8 import RPi.GPIO as GPIO from ADC import ADS1015…

上传文件客户端签名直传

上传文件的客户端签名直传是一种常用的将文件直接上传到云存储服务如Amazon S3、阿里云OSS等云服务上的技术手段。这种方法通常用于减轻服务器负担&#xff0c;并提高上传效率。 以下是实现客户端签名直传的基本步骤&#xff1a; 1. 客户端请求上传权限 客户端&#xff08;如…

加速数据要素流通,“隐语杯”全国高校隐私计算大赛正式启动报名!

当前&#xff0c;我国数字经济正处在一个快速增长的阶段&#xff0c;数据要素逐渐成为促进社会经济繁荣的关键驱动力。随着国家对数据治理及隐私保护政策的不断完善&#xff0c;隐私计算技术的创新和实践应用变得愈发重要。面对数据安全与隐私保护的双重挑战&#xff0c;如何实…

高性价比开放式耳机有哪些?五大好评热卖开放式耳机推荐

近年来&#xff0c;开放式耳机凭借其独特的开放式声学设计&#xff0c;给用户带来了动态空间的音质享受。在佩戴等方面也带来了一定的舒适度。然而&#xff0c;面对满目的耳机品牌&#xff0c;新手小白往往会不知道如何挑选。那如何选择一款适合自己的产品呢&#xff1f;我整理…