H. Mad City
题目链接:Problem - H - Codeforces
题目大意:给定一个带环的图, 以及a, b两点 判断再图上不断的移动, b想不与a相遇, a想捉到b, 并且二者只能移动一步。 若b跑不掉 NO 否则YES.
具体题目看链接
输入:
第一行包含一个整数 t (1≤t≤1000 ) - 测试用例数。
每个测试用例的第一行包含三个空格分隔的整数 n , a , b ( 3≤n≤2⋅1e5 ;( 3≤n≤2⋅1e5 ; 1≤a,b≤n )--
下面的 n 行分别包含两个整数 ui , vi .( 1≤ui,vi≤n, ui≠vi )-- ui 和 vi 之间有一条道路。
所有测试用例中 n 的总和不超过 2⋅1e5 。
保证有环.
解题思路: 通过题目信息, 判断两个点是否肯定会相遇
1.若两个点在环上,那么一定不会相遇,可直接输出YES.
2.该题考察基环树, 当b不在环上时,那么若a点还想与b点相遇, 只有在b点未进入环时堵住b进入环的入环点。所以判断b点到进入环的入点的距离 与 入环点到a点的距离,设入环点为p点。 则需判断 pa <= pb 是NO, 否则 YES.
3.做法, 由于基环树, 要用到拓朴排序, 去掉枝丫, 先判断b点是否在环里。 若不在,则需要做dfs, 搜索出pa, pb的距离。 而p点的求法, 在拓朴排序是删掉该点p时就更新p点的下一个点为p.机p == u 时, p = v.即可找出在环上离b点最近的点p.
#include<bits/stdc++.h>
using namespace std;using i64 = long long;
using i128 = __int128;void solve(){int n, a, b;cin >> n >> a >> b;vector<int> d(n+1);vector<vector<int>> g(n+1);for(int i=0; i<n; i++) {int u, v;cin >> u >> v;d[u]++, d[v]++;g[u].push_back(v);g[v].push_back(u);}if(a==b){//特判cout << "NO\n";return;}queue<int> q;int p = b;for(int i=1; i<=n; i++) {if(d[i]==1) {q.push(i);}}//拓朴排序找里b点最近的环上点while(!q.empty()) {int u = q.front();q.pop();d[u]--;for(int v : g[u]) {if(d[v]==0)continue;d[v]--;if(d[v]==1) {q.push(v);}if(u==p) {//删点时不断靠近环p = v;}}}set<int> st;for(int i=1; i<=n; i++) {if(d[i] >= 2) {st.insert(i);}}//判断b是否再环上if(st.contains(b)) {cout << "YES\n";return;}int dis1 = INT_MAX/2, dis2 = INT_MAX/2;vector<int> vis(n+1,0);//dfs搜索距离auto dfs = [&](auto&&dfs, int u,int len)->void{if(u==a || u==b){if(u==a) {dis1 = min(len, dis1);}if(u==b) {dis2 = min(len, dis2);}return;}vis[u] = 1; for(int v : g[u]) {if(vis[v]==0) {dfs(dfs, v, len+1);}}vis[u] = 0;//再图上搜索,记得回溯};dfs(dfs, p, 0);if(dis1 <= dis2) {//最后的判断cout << "NO\n";}else{cout << "YES\n";}
}int main(){ios::sync_with_stdio(0);cin.tie(0), cout.tie(0);int t;cin >> t;while(t--) {solve();}
}
欢迎各位点赞与观看, 欢迎大佬指正。
相关文章:
H. Mad City
题目链接:Problem - H - Codeforces 题目大意:给定一个带环的图, 以及a, b两点 判断再图上不断的移动, b想不与a相遇, a想捉到b, 并且二者只能移动一步。 若b跑不掉 NO 否则YES. 具体题目看链接 输入: …...
Nginx前端后端共用一个域名如何配置
在 Nginx 中配置前端和后端共用一个域名的情况,通常是通过路径或子路径将请求转发到不同的服务。以下是一个示例配置,假设: 前端静态文件在 /var/www/frontend/。 后端 API 服务运行在 http://127.0.0.1:5000。 域名是 example.comÿ…...
27.Word:财务软件应用的书稿【10】
目录 NO1.2 NO3 NO5.6 NO7.8 NO9 存在页码链接关系,只是页码格式不同 NO1.2 另存为/F12:考生文件夹布局→页面设置对话框→页边距:上下内外/装订线→纸张大小→布局:页眉页脚 NO3 样式的应用:超快速❗ 开…...
AI编程:如何编写提示词
这是小卷对AI编程工具学习的第2篇文章,今天讲讲如何编写AI编程的提示词,并结合实际功能需求案例来进行开发 1.编写提示词的技巧 好的提示词应该是:目标清晰明确,具有针对性,能引导模型理解问题 下面是两条提示词的对…...
记一次STM32编译生成BIN文件过大的问题(基于STM32CubeIDE)
文章目录 问题描述解决方法更多拓展 问题描述 最近在一个项目中使用了 STM32H743 单片机(基于 STM32CubeIDE GCC 开发),它的内存分为了 DTCMRAM RAM_D1 RAM_D2 …等很多部分。其中 DTCM 的速度是比通常的内存要快的,缺点是不支持…...
【OpenGL】OpenGL游戏案例(二)
文章目录 特殊效果数据结构生成逻辑更新逻辑 文本渲染类结构构造函数加载函数渲染函数 特殊效果 为提高游戏的趣味性,在游戏中提供了六种特殊效果。 数据结构 PowerUp 类只存储存活数据,实际逻辑在游戏代码中通过Type字段来区分执行 class PowerUp …...
DeepSeek大模型技术深度解析:揭开Transformer架构的神秘面纱
摘要 DeepSeek大模型由北京深度求索人工智能基础技术研究有限公司开发,基于Transformer架构,具备卓越的自然语言理解和生成能力。该模型能够高效处理智能对话、文本生成和语义理解等复杂任务,标志着人工智能在自然语言处理领域的重大进展。 关…...
DeepSeek本地版安装简易教程(windows)
第一步:下载 第二步:安装 先安装ollama,安装完毕保持ollama运行,设置ollama通过防火墙,再安装deepseek,7b代表下载的r1版本,版本越高消耗资源越大 第三步:开放windows防火墙 第四步…...
RK3568使用QT搭建TCP服务器和客户端
文章目录 一、让RK3568开发板先连接上wifi二、客户端代码1. `widget.h` 文件2. `widget.cpp` 文件**详细讲解**1. **`Widget` 类构造函数 (`Widget::Widget`)**2. **UI 布局 (`setupUI`)**3. **连接按钮的槽函数 (`onConnectClicked`)**4. **发送消息按钮的槽函数 (`onSendMess…...
Python爬虫之——Cookie存储器
目录 专栏导读1、背景介绍2、库的安装3、核心代码4、完整代码总结 专栏导读 🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手 🏳️🌈 博客主页:请点击——> 一晌小贪欢的博客主页求关注 &…...
理解动手学深度学习的自编包d2l
跟着李沐的《动手学深度学习-PyTorch版》入门Python编程和Pytorch框架,以前是重度Matlab用户,对于Python里的各种包很不习惯。特别是,本书还自己做了一个名为d2l包,有几个问题很是困惑。今天终于弄明白了,写在这里&…...
大语言模型(LLM)模拟金融市场参与者行为
大语言模型(LLM)模拟金融市场参与者行为 研究背景 传统深度学习模型通过识别市场数据历史模式预测市场,但未捕捉个体决策过程。LLM 虽能学习人类对不同提示的反应,但在模拟金融市场参与者时面临挑战:个体投资者不总是理性决策,LLM 可能无法捕捉;LLM 数值和金融知识可靠…...
蓝桥杯刷题DAY1:前缀和
所谓刷题,讲究的就是细心 帕鲁服务器崩坏【算法赛】 “那个帕鲁我已经观察你很久了,我对你是有些失望的,进了这个营地,不是把事情做好就可以的,你需要有体系化思考的能力。” 《幻兽帕鲁》火遍全网,成为…...
Hive:窗口函数(1)
窗口函数 窗口函数OVER()用于定义一个窗口,该窗口指定了函数应用的数据范围 对窗口数据进行分区 partition by 必须和over () 一起使用, distribute by经常和sort by 一起使用,可以不和over() 一起使用.DISTRIBUTE BY决定了数据如何分布到不同的Reducer上…...
OpenCV:SIFT关键点检测与描述子计算
目录 1. 什么是 SIFT? 2. SIFT 的核心步骤 2.1 尺度空间构建 2.2 关键点检测与精细化 2.3 方向分配 2.4 计算特征描述子 3. OpenCV SIFT API 介绍 3.1 cv2.SIFT_create() 3.2 sift.detect() 3.3 sift.compute() 3.4 sift.detectAndCompute() 4. SIFT 关…...
爬虫基础(一)HTTP协议 :请求与响应
前言 爬虫需要基础知识,HTTP协议只是个开始,除此之外还有很多,我们慢慢来记录。 今天的HTTP协议,会有助于我们更好的了解网络。 一、什么是HTTP协议 (1)定义 HTTP(超文本传输协议ÿ…...
视频拼接,拼接时长版本
目录 视频较长,分辨率较大,这个效果很好,不耗用内存 ffmpeg imageio,适合视频较短 视频较长,分辨率较大,这个效果很好,不耗用内存 ffmpeg import subprocess import glob import os from nats…...
【字符串两大注意事项】
表达字符串的方式 1.双引号:"hello world" 2.字符指针:char* ptr "hello world" 3.字符数组:char arr[] "hello world"辨析 项目表示方式代表含义内存分布1“hello world”字符串字面量字符串常量就是数据…...
【4Day创客实践入门教程】Day1 工具箱构建——开发环境的构建
Day1 工具箱构建——开发环境的构建 目录 Day1 工具箱构建——开发环境的构建1.元件选型2.准备工具3. 开发板准备焊接排针具体步骤注意事项与技巧 4. 软件环境配置与固件烧录Thonny IDE软件环境配置配置Micropython环境与烧录固件**问题:**买的是4M/16M,…...
如何让一个用户具备创建审批流程的权限
最近碰到一个问题,两个sandbox,照理用户的权限应该是一样的,结果开发环境里面我可以左右的做各种管理工作,但是使用change set上传后,另一个环境的同一个用户,没有相对于的权限,权限不足。 当时…...
Docker Hello World
Docker Hello World 引言 Docker 是一个开源的应用容器引擎,可以让开发者打包他们的应用以及应用的依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。本文将带领您从零开始,学习如何使用 Docker 运行一个简单的 "Hello World"…...
本地部署DeepSeek开源多模态大模型Janus-Pro-7B实操
本地部署DeepSeek开源多模态大模型Janus-Pro-7B实操 Janus-Pro-7B介绍 Janus-Pro-7B 是由 DeepSeek 开发的多模态 AI 模型,它在理解和生成方面取得了显著的进步。这意味着它不仅可以处理文本,还可以处理图像等其他模态的信息。 模型主要特点:Permalink…...
ITS290F Human Computer Interaction
ITS290F Human Computer Interaction & User Experience Design Lab 1. Introduction to CodePen What you’ll learn in this lab: • Understanding CodePen • Creating a front-end page • Using Google form to submit your lab work CodePen is a cloud-based in…...
【详细教程】如何在Mac部署Deepseek R1?
DeepSeek是目前最火的国产大模型,官方App用户太多服务经常出现卡顿,部署一个本地DeepSeek R1可以方便使用。 1.系统最低要求 macOS 11 Big Sur 或更新 2.下载ollama https://ollama.com/ 3.安装DeepSeek R1 打开终端 运行命令 ollama run deepseek-…...
DeepSeek能下围棋吗?(续)
休息了一下,接着琢磨围棋,其实前面一篇里的规则有个漏洞的,就是邻居关系定义有问题,先回顾一下游戏规则: 游戏规则 定义: 1.数字对,是指两个1到9之间的整数组成的有序集合。可与记为(m,n)&…...
网络安全技术简介
网络安全技术简介 随着信息技术的迅猛发展,互联网已经成为人们日常生活和工作中不可或缺的一部分。与此同时,网络安全问题也日益凸显,成为全球关注的焦点。无论是个人隐私泄露、企业数据被盗取还是国家信息安全受到威胁,都与网络…...
Keepalived高可用集群企业应用实例一
一、实现master/slave的keepalived单主架构 1.master配置 global_defs { notification_email { 2676401238qq.com } notification_email_from keepalivedKA1.xiao.org smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id ka1.xiao.org vrrp_skip_check_adv_addr vrr…...
愿景:做机器视觉行业的颠覆者
一个愿景,两场战斗,专注制胜。 一个愿景:做机器视觉行业的颠覆者。 我给自己创业,立一个大的愿景:做机器视觉行业的颠覆者。 两场战斗:无监督-大模型 上半场,无监督。2025-2030,共五…...
【产品经理学习案例——AI翻译棒出海业务】
前言: 本文主要讲述了硬件产品在出海过程中,翻译质量、翻译速度和本地化落地策略是硬件产品规划需要考虑的核心因素。针对不同国家,需要优化翻译质量和算法,关注市场需求和文化差异,以便更好地满足当地用户的需求。同…...
算法总结-数组/字符串
文章目录 1.合并两个有序数组1.答案2.思路 2.移除元素1.答案2.思路 3.删除有序数组中的重复项 II1.答案2.思路 4.多数元素1.答案2.思路 5.轮转数组1.答案2.思路 6.买卖股票的最佳时机1.答案2.思路 7.买卖股票的最佳时机 II1.答案2.思路 8.跳跃游戏1.答案2.思路 9.H 指数1.答案2…...
