CCPC dongbei 2025 I

article/2025/8/12 19:59:58
 题目链接:https://codeforces.com/gym/105924
题目背景:

        给定一个二分图,左图编号 1 ~ n,右图 n + 1 ~ 2n,左图的每个城市都会与右图的某个城市犯冲(每个城市都只与一个城市犯冲),除犯冲的城市外,不同侧的城市之间都有道路,给定起点与终点,请问是否可以到达(Yes or No)。

思路:

        分类讨论:在同侧,如果 n >= 3,一定有解。n < 3一定无解。在异侧只需判断是否犯冲即可。

       

        eq(同侧):可假设图为上图(连线为犯冲)。如果n = 3,s = 1,t = 2,可行路径就为 1 - 6 - 2,未经过犯冲城市。如果 n = 2,我们怎样走都会经过犯冲城市。

        特判:s == t。

数据范围:

        n 总和小于 2e5。

时间复杂度:

        O(n)

ac代码: 
#include <bits/stdc++.h>#define ioscc ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)
#define endl '\n'
#define me(a, x) memset(a, x, sizeof a)
#define all(a) a.begin(), a.end()
#define sz(a) ((int)(a).size())
#define pb(a) push_back(a)
using namespace std;typedef unsigned long long ull;
typedef long long ll;
typedef pair<int, int> pii;
typedef vector<vector<int>> vvi;
typedef vector<int> vi;
typedef vector<bool> vb;const int dx[4] = {-1, 0, 1, 0};
const int dy[4] = {0, 1, 0, -1};
const int MAX = (1ll << 31) - 1;
const int MIN = 1 << 31;
const int MOD = 1e9 + 7;
const int N = 1e5 + 10;template <class T>
ostream &operator<<(ostream &os, const vector<T> &a) noexcept
{for (int i = 0; i < sz(a) - 10; i++)std::cout << a[i] << ' ';return os;
}template <class T>
istream &operator>>(istream &in, vector<T> &a) noexcept
{for (int i = 0; i < sz(a) - 10; i++)std::cin >> a[i];return in;
}/* 有乘就强转,前缀和开ll */void solve()
{int n, s, t;cin >> n >> s >> t;vi a(n + 10);for (int i = 1; i <= n; ++i)cin >> a[i];if (s == t){cout << "Yes" << endl;return;}if ((s <= n && t <= n) || (s > n && t > n)){if (n <= 2)cout << "No" << endl;elsecout << "Yes" << endl;}else{if ((s <= n && a[s] == t) || (t <= n && a[t] == s))cout << "No" << endl;elsecout << "Yes" << endl;}
}int main()
{ioscc;int T;cin >> T;while (T--)solve();return 0;
}


http://www.hkcw.cn/article/jklEhWctFU.shtml

相关文章

如何学习开关电源?从“大”到“小”学习开关电源...

01 / 简介 / 参考 开关电源研学群[BUCK] ,之前创建了开关电源研学群,为电源同行提供学习交流的平台。参考 一种高效的硬件工程师学习方法[更新篇,更牛逼,加量不加价] ,之前也给大家推荐了更加高效的学习方法。 群内有很多电源大佬,经常给大家解答疑问,在此表示感谢;…

C#里与嵌入式系统W5500网络通讯(3)

有与W5500通讯时,需要使用下面的寄存器: PHYCFGR (W5500 PHY Configuration Register) [R/W] [0x002E] [0b10111XXX] PHYCFGR configures PHY operation mode and resets PHY. In addition, PHYCFGR indicates the status of PHY such as duplex, Speed, Link. 这张表格详细…

WEB3——开发者怎么查看自己的合约日志记录

在区块链中查看合约的日志信息&#xff08;也叫事件 logs&#xff09;&#xff0c;主要有以下几种方式&#xff0c;具体方法依赖于你使用的区块链平台&#xff08;如 Ethereum、BSC、Polygon 等&#xff09;和工具&#xff08;如 Etherscan、web3.js、ethers.js、Hardhat 等&am…

【深度学习】17. 深度生成模型:DCGAN与Wasserstein GAN公式深度推导

深度生成模型:DCGAN与Wasserstein GAN公式深度推导 深度卷积生成对抗网络 DCGAN 在原始 GAN 框架中&#xff0c;生成器和判别器通常使用全连接层构建&#xff0c;这限制了模型处理图像的能力。为此&#xff0c;Radford 等人在 2016 年提出了 DCGAN&#xff08;Deep Convoluti…

Scratch节日 | 六一儿童节射击游戏

六一儿童节快乐&#xff01;这款超有趣的 六一儿童节射击游戏&#xff0c;让你变身小猫弓箭手&#xff0c;守护节日的快乐时光&#xff01; &#x1f3ae; 游戏玩法 上下方向键&#xff1a;控制小猫的位置&#xff0c;自由移动&#xff0c;瞄准目标&#xff01; 空格键&#…

IDEA PyCharm 等工具如何同时打开多个窗口

目录 1.第一步&#xff1a;打开软件通过左上角 File 进入到 Settings 2.第二步&#xff1a;进入 Settings 后选择 System Settings 3.第三步&#xff1a;新建项目时可以选择 此窗口(This Window) 或 新窗口(New Window) 1.第一步&#xff1a;打开软件通过左上角 File 进入到…

2024年09月 C/C++(四级)真题解析#中国电子学会#全国青少年软件编程等级考试

C/C++编程(1~8级)全部真题・点这里 第1题:有几个PAT 字符串 APPAPT 中包含了两个单词 PAT,其中第一个 PAT 是第 2 位,第 4 位(A),第 6 位(T);第二个 PAT 是第 3 位,第 4 位(A),第 6 位(T)。 现给定字符串,问一共可以形成多少个 PAT? 时间限制:1000 内存限制:26214…

【echarts】仪表盘

<div style"width:50%;height:33%"><Yibiaopan echart_id"ybpChart2" :series_data"gaugeData2" title"火电" unit"MWh" :colorList"[#DFA58F,#F89061,#FF8E59]" /></div> 链接&#xff1a;ht…

目标检测我来惹1 R-CNN

目标检测算法&#xff1a; 识别图像中有哪些物体和位置 目标检测算法原理&#xff1a; 记住算法的识别流程、解决问题用到的关键技术 目标检测算法分类&#xff1a; 两阶段&#xff1a;先区域推荐ROI&#xff0c;再目标分类 region proposalCNN提取分类的目标检测框架 RC…

【AI学习】检索增强生成(Retrieval Augmented Generation,RAG)

1&#xff0c;介绍 出自论文《Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks》&#xff0c;RAG是权宜之计&#xff0c;通过RAG将问题简单化、精简化、剔除噪声&#xff0c;让LLM更容易理解、生成内容。RAG&#xff1a;检索增强技术检索生成&#xff08;重…

LINUX 61 rsync定时同步;软链接

定时同步报错 [rootbackup ~]# cat rsync_java.sh !/bin/bash rsync -av user3192.168.235.10::app /backup/app1_java &&/dev/null [rootbackup ~]# cd /backup [rootbackup backup]# ls app1_java [rootbackup backup]# cd app1_java [rootbackup app1_java]# ls 1.…

[Android] APK安装器 V20160330-6.0

【应用名称】APK安装【应用版本】V20160330-6.0版本【软件大小】154KB【适用型号】安卓【应用说明】此版本兼容性极强&#xff0c;Android6-Android15都可以用&#xff0c;兼容平板和手机&#xff0c;已经过测试&#xff01; 软件优点&#xff1a; 不占内存&#xff0c;大小比…

017搜索之深度优先搜索——算法备赛

深度优先搜索 如果说广度优先搜索是逐层扩散&#xff0c;那深度优先搜索就是一条道走到黑。 深度优先遍历是用递归实现的&#xff0c;预定一条顺序规则&#xff08;如上下左右顺序&#xff09; &#xff0c;一直往第一个方向搜索直到走到尽头或不满足要求后返回上一个叉路口按…

电子电路:时钟脉冲与上升沿的详细解析

一、时钟脉冲的量子物理本质 1. 电磁波能量量子化 时钟脉冲本质是电磁能量的周期性传递,其最小能量单元为: E = h f E = hf E=hf 其中 h = 6.626 10 − 34 J ⋅ s h=6.62610^{-34} \ Js h=6.62610−34 J⋅s(普朗克常数), f f f 为时钟频率。当3GHz CPU运行时,单个时…

HTTPS

HTTPS 是什么 它其实就是网站的保镖版 HTTP。平常你用普通HTTP上网&#xff0c;你浏览器和网站服务器之间传的东西&#xff0c;不管是密码、聊天内容还是信用卡号&#xff0c;都是“裸奔”的&#xff0c;谁都能半路偷看或者篡改。 HTTPS 就不同了&#xff0c;它在你们开始传东…

LTSPICE仿真电路:(三十)压流变换器

1.压流转换器&#xff08;NPN型三极管&#xff09; 压流转换器&#xff1a;将电压转换为电流信号。 直接看仿真 这个电路是负反馈电路&#xff0c;分析使用续断虚短&#xff0c;输入信号是3V&#xff0c;所以在Rset电阻处的电压始终是3V &#xff0c;Uce为6V&#xff08;发射…

电动机定子铁芯冲槽模设计与多物理场仿真优化

摘要 本文系统阐述电动机定子铁芯冲槽模的设计规范与仿真验证方法。通过分析冲裁机理&#xff0c;提出模具材料选型、间隙计算、结构优化的关键技术方案&#xff0c;并借助ANSYS Workbench平台进行应力-疲劳联合仿真&#xff0c;为高精度冲槽模设计提供理论依据和工程实践参考…

window 显示驱动开发-复制深度模具值

Microsoft Direct3D 运行时调用用户模式显示驱动程序的 Blt 函数&#xff0c;将深度模具值从视频内存复制到系统内存&#xff0c;反之亦然。 驱动程序和硬件必须从或转换到驱动程序支持的所有不透明深度模具格式 (&#xff0c;即 D3DDDIFORMAT 枚举类型定义的所有格式&#xff…

pc端小卡片功能-原生JavaScript金融信息与节日日历

代码如下 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>金融信息与节日日历</title><…

Redis最佳实践——购物车优化详解

Redis在电商购物车高并发读写场景下的优化实践 一、购物车业务场景分析 典型操作特征 读/写比例 ≈ 8:2高峰QPS可达10万单用户最大商品数500操作类型&#xff1a;增删改查、全选/反选、数量修改 技术挑战 高并发下的数据一致性海量数据存储与快速访问实时价格计算与库存校验分…