AtCoder ABC周赛2023 11/4 (Sat) D题题解

目录

原题截图:

题目大意:

主要思路:

注意事项(很多人再这个地方掉坑):

代码:


原题截图:

 

题目大意:

给你两个数组(A和B)长度都为n,然你求出一个01元组(设为x,长度为m) 使得 x_{a_i} != x_{b_i}(i<=n)

主要思路:

如果你细细想一想,这题就很简单,我们可以发现,可以用图论的方式解决,将a[i]和b[i]之间连一条无向边,然后染色法(用0和1,边的两边染的颜色要不同),如果有两个颜色再同一点,就有问题,输出No,否则输出Yes。

注意事项(很多人再这个地方掉坑):

  1. 图不一定是连通的(也就是初始化成-1,遍历一下所有点,如果这个点是-1,就以这个点为开头,染色,然后继续遍历点)

代码:

#include<bits/stdc++.h>
using namespace std;
int n,m;
int a[200010],b[200010];
vector<int> g[200010];
int color[200010];
int flag;
void dfs(int c, int u)
{color[c]=u;for(int i=0;i<g[c].size();i++){if(color[g[c][i]] == -1){dfs(g[c][i],1-u);}else if(color[g[c][i]] == color[c]){flag=1;}}
}
int main()
{cin>>n>>m;for(int i=0;i<m;i++){cin>>a[i];a[i]--;}for(int i=0;i<m;i++){cin>>b[i];b[i]--;}for(int i=0;i<m;i++){g[a[i]].push_back(b[i]);g[b[i]].push_back(a[i]);}for(int i=0;i<n;i++){color[i]=-1;}for(int i=0;i<n;i++){if(color[i] == -1){dfs(i,0);	}}cout<<(flag?"No":"Yes");return 0;
}

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

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

相关文章

【Spring 源码】 贯穿 Bean 生命周期的核心类之 AbstractAutowireCapableBeanFactory

&#x1f680; 作者主页&#xff1a; 有来技术 &#x1f525; 开源项目&#xff1a; youlai-mall &#x1f343; vue3-element-admin &#x1f343; youlai-boot &#x1f33a; 仓库主页&#xff1a; Gitee &#x1f4ab; Github &#x1f4ab; GitCode &#x1f496; 欢迎点赞…

7-2 小霸王

幼儿园的老师给几位小朋友等量的长方体橡皮泥&#xff0c;但有个小朋友&#xff08;小霸王&#xff09;觉得自己的橡皮泥少了&#xff0c;就从另一个小朋友那里抢了一些。请问&#xff0c;是哪个小霸王抢了哪个小朋友的橡皮泥&#xff1f; 输入格式: 测试数据有多组。对于每组…

『 C++ 』BinarySearchTree搜索二叉树

文章目录 前言 &#x1f995;二叉搜索树的概念 &#x1f995;搜索二叉树的初始化 &#x1f995;Insert( )插入函数 &#x1f995;&#x1f47e; InsertR( ) 插入函数(递归) InOrder( ) 中序遍历打印 &#x1f995;Find( ) 查找函数 &#x1f995;&#x1f47e; Find( ) 查找函数…

v-model和:model的区别

问题 在我们使用Element plus框架时&#xff0c;经常会遇到表单&#xff0c;比如代码块&#xff1a; <el-form ref"ruleFormRef" :model"ruleForm" :rules"rules" label-width"120px" class"demo-ruleForm" :size"…

【umi-reques】umi-request 配置request后,无法覆盖默认设置的 Content-Type:text/plain

https://github.com/ant-design/ant-design-pro/issues/5846 设置mode: ‘no-cors’ 再设置 headers: {Content-Type: application/json;charsetUTF-8}不会生效。 要么让后端加上cors&#xff0c;要么前端通过代理方式访问&#xff0c;如果要改Content-Type&#xff0c; 就不…

C++新经典模板与泛型编程:用成员函数重载实现is_base_of

用成员函数重载实现is_base_of std::is_base_of是一个C 11标准中用于判断某个类是否是另一个类父类的类模板。 #include "killCmake.h"#include<string>using namespace std;class A { };class B : public A { public:B(int x): x_(x){} private:int x_; };/…

使用 GROUP BY 进行数据库分析:以图书销售数据库为例

让我们通过一个简单但实用的例子来理解 GROUP BY 的使用。我们将以一个图书销售数据库为例。这个数据库包含两张表&#xff1a;一张是图书信息表 (books)&#xff0c;另一张是销售记录表 (sales)。我们会先创建这两张表&#xff0c;然后插入一些数据&#xff0c;并展示如何使用…

1320:【例6.2】均分纸牌(Noip2002)

【题目描述】 有n堆纸牌&#xff0c;编号分别为 1&#xff0c;2&#xff0c;…,n 。每堆上有若干张&#xff0c;但纸牌总数必为n 的倍数。可以在任一堆上取若干张纸牌&#xff0c;然后移动。 移牌规则为&#xff1a;在编号为1 的堆上取的纸牌&#xff0c;只能移到编号为 2 的堆…

PHP对接企业微信

前言 最近在做项目中&#xff0c;要求在后台管理中有企业微信管理的相关功能。相关准备工作&#xff0c;需要准备好企业微信账号&#xff0c;添加自建应用&#xff0c;获得相应功能的权限&#xff0c;以及agentid、secre等。 参考文档&#xff1a; 企业微信开发文档 功能实现 因…

指针数组和数组指针作为形式参数

类型 形式参数为指针数组形式参数为数组指针总结 形式参数为指针数组 void test(int* p[3], int n) {printf("p为&#xff1a;%p\n", p);//p为&#xff1a;000000D93D71F718p;printf("p为&#xff1a;%p\n", p);//p为&#xff1a;000000D93D71F720 加了8p…

2、Redis变慢原因排查(下)

感觉Redis变慢了&#xff0c;这些可能的原因你查了没 &#xff1f;(下) Redis变慢排查的上一篇【感觉Redis变慢了&#xff0c;这些可能的原因你查了没 &#xff1f;(上)】&#xff0c;我们是基于Redis命令为入口&#xff0c;比如命令使用不得当&#xff0c;bigkey问题&#xf…

开发短视频矩阵实时直播需要用到哪些技术?

现在越来越多的人或公司都想开发出自己的直播网站或者直播APP&#xff0c;但是在技术这一块又不知道怎么下手&#xff0c;那么我就给大家讲一下在视频直播系统开发中要了解那些知识和技术&#xff1a; 在开发上需要用的技术有&#xff1a; 摄像头采集 音视频编解码 流媒体协议…

⭐Unity 搭建UDP客户端(01) 配合网络调试助手测试

1.接收来自服务器的消息 using System.Net; using System.Net.Sockets; using System.Text; using System.Threading; using UnityEngine;public class UDPManager:MonoBehaviour {public string recvStr; //服务器返回值public string UDPClientAddRess "192.168.2.39&q…

uniapp点击图片预览功能?

uni-app点击图片预览功能需要使用uni-app提供的uni.previewImage()方法来实现。具体步骤如下&#xff1a; 在点击事件中&#xff0c;将需要预览的图片URL作为参数传递给uni.previewImage()方法。 在uni.previewImage()方法中&#xff0c;使用current参数指定当前预览的图片URL…

debian11,debian 如何删除虚拟内存,交换分区

1.以管理员身份登录系统 2.输入以下命令以删除虚拟内存,该命令将关闭当前正在使用的虚拟内存。 sudo swapoff -a 3.输入以下命令以永久删除虚拟内存(硬盘内存文件)&#xff1a; sudo rm /swapfile 4.重启系统 总结:以上步骤将删除 Debian 11 中的虚拟内存。请注意&#xf…

数字人对话系统 Linly-Talker

&#x1f525;&#x1f525;&#x1f525;数字人对话系统 Linly-Talker&#x1f525;&#x1f525;&#x1f525; English 简体中文 欢迎大家star我的仓库 https://github.com/Kedreamix/Linly-Talker 2023.12 更新 &#x1f4c6; 用户可以上传任意图片进行对话 介绍 Lin…

OpenDDS之名词概念介绍

无论是自己还是其它朋友在研究opendds源码或者开发手册的时候&#xff0c;往往会朋友一些专有名词&#xff0c;看上去后不明所以&#xff0c;或者对其真实表达的意思不透彻&#xff0c;似是而非的感觉。本文对我自己对这些术语的理解进行解释&#xff0c;希望对大家有所帮助。 …

SolidWorks Simulation 有限元分析-升降架分析

问题描述&#xff1a;一个载重为 1800N 的升降架承受一外部水压柱筒的作用&#xff0c;该水压柱筒与基座上的滑块相连。 1. 打开零件。 2. 我们新建一个静应力分析的算例&#xff0c;如下图所示。 3. 设置材料。我们需要为模型指定模型的材料属性。点击选中模型&#xff0c;鼠…

Excel 分列功能

一. 需求 ⏹有一段文本&#xff0c;文本一共有7列。这7列文本之间的分隔符不相同 有一个空格的有多个空格的有Tab的jmw_state 和 method 之间用 & 连接 现在要求&#xff0c;将这段文本粘贴到Excel中&#xff0c;进行分列。并且需要将 jmw_state 和 method 也进行分列 也…

RabbitMQ(一)概述

1 RabbitMQ 概念 RabbitMQ 是一个消息中间件&#xff1a;它接受并转发消息。你可以把它当做一个快递站点&#xff0c;当你要发送一个包裹时&#xff0c;你把你的包裹放到快递站&#xff0c;快递员最终会把你的快递送到收件人那里&#xff0c;按照这种逻辑 RabbitMQ 是一个快递站…