G: Xi and Bo

2023-11-05 06:08
文章标签 bo xi

本文主要是介绍G: Xi and Bo,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目链接
Description
Bo has been in Changsha for four years. However he spends most of his time staying his small dormitory. One day he decides to get out of the dormitory and see the beautiful city. So he asks to Xi to know whether he can get to another bus station from a bus station. Xi is not a good man because he doesn’t tell Bo directly. He tells to Bo about some buses’ routes. Now Bo turns to you and he hopes you to tell him whether he can get to another bus station from a bus station directly according to the Xi’s information.


并查集:
查询起始站与终点站是否在同一个集合里面。
注意join是根指向根。开始就搞错了
find之后可以指向根节点

#include <iostream>
#include <cmath>
#include<set>
#include<string.h>
#include <type_traits>
#include <queue>
#include <tuple>
#include<tuple>#define inf 0x3f3f3f3f
#define LL long long
#define mod 100000007
using namespace std;int head[104];void inti() {for (int i = 0; i < 104; i++) {head[i] = i;}
}int find(int a){//找到根节点,并指向他int a2=a;while(head[a]!=a){a=head[a];}head[a2]=a;return a;
}void join(int a, int b) {int ra=find(a);int rb=find(b);if (ra!=rb) {//这里或许不用这么写,因为find后,该节点就会指向根节点head[rb] = ra;}
}int main() {int st, et,T;scanf("%d",&T);while (T--) {inti();scanf("%d%d", &st, &et);int n;scanf("%d", &n);for (int i = 0; i < n; i++) {int m, st1;scanf("%d", &m);scanf("%d", &st1);m--;while (m--) {int station;scanf("%d", &station);join(st1, station);}}if (find(st) == find(et))puts("Yes");else puts("No");}}

这篇关于G: Xi and Bo的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/347927

相关文章

回归预测 | Matlab基于贝叶斯算法优化XGBoost(BO-XGBoost/Bayes-XGBoost)的数据回归预测+交叉验证

回归预测 | Matlab基于贝叶斯算法优化XGBoost(BO-XGBoost/Bayes-XGBoost)的数据回归预测+交叉验证 目录 回归预测 | Matlab基于贝叶斯算法优化XGBoost(BO-XGBoost/Bayes-XGBoost)的数据回归预测+交叉验证效果一览基本介绍程序设计参考资料 效果一览 基本介绍 Matlab实现基于贝叶斯算法优化X

清华计算几何-线段求交与BO算法

单轴线段求交 给定单边轴下,  N定线段,检查出相交的线段. 解法一: 暴力求解 遍历所有线段对,进行相交判断, 算法复杂度为O(n2) 解法二: LR扫描 把每条线段的头尾认定为L和R。对所有点进行排序,如果每两个点满足LL或者RR,则对应的线段相交。如果为LR,则对应的线段无相交,算法复杂度为O(nlog(n)) 多轴线段求交 - BO算法(line sweep) 上

POJO、PO、DTO、VO、BO到底是什么?都如何使用?(基础概念+传输示意图+示例代码)带你一次玩转层出不穷的Object

文章目录 前言一、解释关系二、POJO、PO、DTO、VO、DAO、BO1.什么是POJO(Plain Old Java Object)2.什么是PO(Persistent Object)3.什么是DTO(Data Transfer Object)4.什么是VO(View Object)5.什么是DAO(Data Transfer Object)6.什么是BO(Business Object

**Adobe Acrobat XI 键盘快捷键指南**

**一、导航与视图切换** - **翻页**:   - 下一页:`空格键` 或 `Page Down`   - 上一页:`Backspace` 或 `Page Up`   - 跳转到第一页:`Home`   - 跳转到最后一页:`End` - **缩放视图**:   - 放大视图:`Ctrl` + `+`(加号)   - 缩小视图:`Ctrl` + `-`(减号)   - 恢复到100%视

[HDU 5754] Life Winner Bo (有平局的博弈+威佐夫博弈)

HDU - 5754 有一个 N×M N \times M的国际象棋棋盘,刚开始左上角有一个棋子 每次只能往右下角移动,谁先到达右下角谁就赢 如果无论如何也到不了右下角,就平局 有四种棋子,王、车、马、后 博弈四合一 王 打表即可车 相当于两堆分别为 N−1 N-1和 M−1 M-1的石子的 Nimm Nimm游戏马 有平局的游戏,规则如下 如果一个局面能取得胜利

理解Java中的PO、VO、DAO、BO、DTO和POJO

在Java开发中,PO、VO、DAO、BO、DTO和POJO是几种常见的对象类型。它们各自有不同的用途和角色,帮助我们在复杂的系统中实现代码的职责分离和高内聚低耦合。本文将详细介绍这些对象类型的定义和区别,并探讨它们在实际开发中的应用。 1. PO (Persistent Object) 定义:持久化对象,通常对应数据库中的表结构,每个实例对象对应数据库中的一条记录。 用途:用于持久化

VO , PO , BO , QO, DAO ,POJO,

O/R Mapping 是 Object Relational Mapping (对象关系映射)的缩写。通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据。在 O/R Mapping 的世界里,有两个基本的也是重要的东东需要了解,即 VO , PO 。 VO ,值对象 (Value Object) , PO ,持久对象 (Persisent Object) ,

PO、VO、BO、DAO、DTO、POJO

PO、VO、BO、DAO、DTO关系图 DAO(Data Access Object)数据访问对象,数据访问:顾名思义就是与数据库打交道,它封装了与底层数据源(如数据库)的交互逻辑。为业务逻辑层(Service)提供数据服务接口,隐藏了底层数据源的细节和复杂性。 PO(persistant object )持久对象,可以看成是与数据库中的表相映射的java对象,完全符合Java Bean规范的

Java PO VO DAO BO POJO

一、PO:persistant object 持久对象,可以看成是与数据库中的表相映射的ava对象。 最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合PO中应该不包含任何对数据库的操作。  二、VO:value object值对象。通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已。但应是抽象出的业务对象可以和表对应也可以不这根据业务的需要 三、DAO:da

区分POJO、DTO、DO、VO、BO、PO、Entity

简述: VO 用于后端向前端传输数据; DTO用于前端向后端传输数据; BO用于微服务之间传输数据; PO等同于Entity,DO是Entity的一种,三者用于表示数据库的一条记录,通常用Entity。 (1)POJO 普通Java对象POJO(Pure Old Java Object 、 Plain Ordinary Java Object),按照Martin Fowler的解释是“