C++set集合与并查集map映射,哈希表应用实例B3632 集合运算 1P1918 保龄球
集合的性质
- 无序性
- 互异性
- 确定性
B3632 集合运算 1
题面
题目背景
集合是数学中的一个概念,用通俗的话来讲就是:一大堆数在一起就构成了集合。
集合有如下的特性:
-
无序性:任一个集合中,每个元素的地位都是相同的,元素之间是无序的。
-
互异性:一个集合中,任何两个元素都认为是不相同的,即每个元素只能出现一次。
-
确定性:给定一个集合,任给一个元素,该元素或者属于或者不属于该集合,二者必居其一,不允许有模棱两可的情况出现。
元素 a 属于集合 A 记作 a∈A,反之则记作 a∈/A。
若一个集合中不存在任何元素,则称该集合为空集,记作 ∅。空集是所有集合的子集。
一个集合内的元素个数称为该集合的大小。A 集合的大小可记作 ∣A∣。
集合 C 是集合 A 与 B 的交集,当且仅当对于任何元素 a∈C,有 a∈A 且 a∈B,并且对于任何元素 b∈/C,有 b∈/A 或 b∈/B。记作 A∩B。
简单地说,交集是由所有同时属于两个集合的元素所构成的,就像两个集合相交;而并集是由所有属于其中任意一个集合的元素所构成的,就像两个集合合并。
特别地,对于形如 {x∣a≤x≤b} 的集合,可以记作 [a,b]。其中,如果左侧符号改为小于号,则左侧中括号改为小括号。右侧同理。
题目描述
现在给予两个集合 A 和 B,均由 00 到 6363 之间的整数组成。
请依次求出:
- ∣A∣
- A∩B
- A∪B
输入格式
输入四行。
第一行一个整数 x(0≤x≤63),表示集合 A 的元素个数。
第二行 x 个整数 a1,...ax,表示集合 A 的各个元素,保证不重复。如果 A 是空集,则这一行没有数字。
第三行一个整数 y(0≤y≤63),表示集合 B 的元素个数。
第四行 y 个整数 b1,...bx,表示集合 B 的各个元素,保证不重复。如果 B 是空集,则这一行没有数字。
输出格式
输出三行。
第一行输出一个整数,表示 ∣A∣。
第二行输出若干个整数,表示 A∩B 中对应元素,从小到大输出,用空格隔开。如果是空集,则这一行什么也不输出,保留换行。
第三行输出若干个整数,表示 A∪B 中对应元素,从小到大输出,用空格隔开。如果是空集,则这一行什么也不输出,保留换行。
输入输出样例
输入 #1
4 1 3 5 8 3 3 6 8
输出 #1
4 3 8 1 3 5 6 8
输入 #2
04 1 2 3 4
输出 #2
01 2 3 4
题解
使用set的方法有很多种,根据这道题目的要求可以做出以下输出
循环,如果读到了一个数,就将 a 数组对应的元素标记为 1
循环,如果读到了一个数,就将 b 数组对应的元素标记为 1
循环,i 从 0 到 63,输出 A 和 B 的交集
如果 i 同时在集合 A 和 B 中,说明它是 A∩B 的元素。
循环,i 从 0 到 63,输出 A 和 B 的并集
如果 i 在集合 A 或 B 至少一个集合,说明它是 A∪B 的元素。
代码
#include<iostream>
using namespace std;
int a[65], b[65], x, y, tmp;
int main() {// 读入 xcin >> x;for (int i = 0; i < x; i++) {cin >> tmp;a[tmp] = 1; // 将集合 A 对应的元素标记为 1}int sizeA = 0; // 集合 A 的大小// 循环,i 从 0 到 64,计算集合 A 的大小for (int i = 0; i < 65; i++) {if (a[i] == 1) {sizeA++;}}cout<<sizeA<<endl;// 读入 ycin >> y;for (int i = 0; i < y; i++) {cin >> tmp;b[tmp] = 1; // 将集合 B 对应的元素标记为 1}// 循环,i 从 0 到 63,输出 A 和 B 的交集for (int i = 0; i < 63; i++) {if (a[i] == 1 && b[i] == 1) {cout << i << " "; // 输出交集元素}}cout << endl;// 循环,i 从 0 到 63,输出 A 和 B 的并集for (int i = 0; i < 63; i++) {if (a[i] == 1 || b[i] == 1) {cout << i << " "; // 输出并集元素}}return 0;
}
相关文章:
C++set集合与并查集map映射,哈希表应用实例B3632 集合运算 1P1918 保龄球
集合的性质 无序性互异性确定性 B3632 集合运算 1 题面 题目背景 集合是数学中的一个概念,用通俗的话来讲就是:一大堆数在一起就构成了集合。 集合有如下的特性: 无序性:任一个集合中,每个元素的地位都是相同的&…...
easyexcel合并单元格底色
一、效果图 二、导出接口代码 PostMapping("selectAllMagicExport")public void selectAllMagicExport(HttpServletRequest request, HttpServletResponse response) throws IOException {ServiceResult<SearchResult<TestMetLineFe2o3Export>> result …...
OpenCV图片校正
OpenCV图片校正 背景几种校正方法1.傅里叶变换 霍夫变换 直线 角度 旋转3.四点透视 角度 旋转4.检测矩形轮廓 角度 旋转参考 背景 遇到偏的图片想要校正成水平或者垂直的。 几种校正方法 对于倾斜的图片通过矫正可以得到水平的图片。一般有如下几种基于opencv的组合方…...
数字孪生流域共建共享相关政策解读
当前数字孪生技术在水利方面的应用刚起步,2021年水利部首次提出“数字孪生流域”概念,即以物理流域为单元、时空数据为底座、数学模型为核心、水利知识为驱动,对物理流域全要素和水利治理管理活动全过程的数字映射、智能模拟、前瞻预演&#…...
FSC147数据集格式解析
一. 引言 在研究很多深度学习框架的时候,往往需要使用到FSC147格式数据集,若要是想在自己的数据集上验证深度学习框架,就需要自己制作数据集以及相关标签,在论文Learning To Count Everything中,该数据集首次被提出。 …...
el-element中el-tabs案例的使用
el-element中el-tabs的使用 代码呈现 <template><div class"enterprise-audit"><div class"card"><div class"cardTitle"><p>交易查询</p></div><el-tabs v-model"activeName" tab-cl…...
tomcat结构目录有哪些?
bin 启动,关闭和其他脚本。这些 .sh文件(对于Unix系统)是这些.bat文件的功能副本(对于 Windows系统)。由于Win32命令行缺少某些功能,因此此处包含一些其他文件。 比如说:windows下启动tomcat用的…...
生成式AI系列 —— DCGAN生成手写数字
1、模型构建 1.1 构建生成器 # 导入软件包 import torch import torch.nn as nnclass Generator(nn.Module):def __init__(self, z_dim20, image_size256):super(Generator, self).__init__()self.layer1 nn.Sequential(nn.ConvTranspose2d(z_dim, image_size * 32,kernel_s…...
vscode-vue项目格式化+语法检验-草稿
Vue学习笔记7 - 在Vscode中配置Vetur,ESlint,Prettier_vetur规则_Myron.Maoyz的博客-CSDN博客...
【Java从0到1学习】10 Java常用类汇总
1. System类 System类对读者来说并不陌生,因为在之前所学知识中,需要打印结果时,使用的都是“System.out.println();”语句,这句代码中就使用了System类。System类定义了一些与系统相关的属性和方法,它所提供的属性和…...
第三届人工智能与智能制造国际研讨会(AIIM 2023)
第三届人工智能与智能制造国际研讨会(AIIM 2023) The 3rd International Symposium on Artificial Intelligence and Intelligent Manufacturing 第三届人工智能与智能制造国际研讨会(AIIM 2023)将于2023年10月27-29日在成都召开…...
层次分析法
目录 一:问题的引入 二:模型的建立 1.分析系统中各因素之间的关系,建立系统的递阶层次结构。 2.对于同一层次的各元素关于上一层次中某一准则的重要性进行两两比较,构造两两比较矩阵(判断矩阵)。 3.由判…...
Error Handling
有几个特定的异常类允许用户代码对与CAN总线相关的特定场景做出反应: Exception (Python standard library)+-- ...+-- CanError (python-can)+-- CanInterfaceNotImplementedError+-- CanInitializationError...
leetcode:字符串相乘(两种方法)
题目: 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。 注意:不能使用任何内置的 BigInteger 库或直接将输入转换为整数。 示例 1: 输入: num1 "2", nu…...
【爬虫练习之glidedsky】爬虫-基础2
题目 链接 爬虫往往不能在一个页面里面获取全部想要的数据,需要访问大量的网页才能够完成任务。 这里有一个网站,还是求所有数字的和,只是这次分了1000页。 思路 找到调用接口 可以看到后面有个参数page来控制页码 代码实现 import reques…...
03.有监督算法——决策树
1.决策树算法 决策树算法可以做分类,也可以做回归 决策树的训练与测试: 训练阶段:从给定的训练集构造出一棵树(从根节点开始选择特征,如何进行特征切分) 测试阶段:根据构造出来的树模型从上…...
网络协议详解之STP
目录 一、STP协议(生成树) 1.1 生成树协议核心知识点: 1.2 生成树协议与导致问题: 生成树含义: 1.3 802.1D 规则: 802.1D 缺点: 1.4 PVST cisco私有 1.5 PVST 1.6 快速生成树 快速的原…...
Eltima USB Network Gate 10.0 Crack
USB Network Gate -通过网络共享USB 设备 USB Network Gate (前身为以太网USB控制器USB) 轻松的通过网络(Internet/LAN/WAN)分享您的一个或者多个连接到您计算机的USB设备。 无论您身处异国还是近在隔壁办公室,您都可以轻松使用远程扫描仪、打印机、摄像头、调制解…...
SpringCloudGateway网关实战(一)
SpringCloudGateway网关实战(一) 目前对cloud的gateway功能还是不太熟悉,因此特意新建了对应的应用来尝试网关功能。 网关模块搭建 首先我们新建一个父模块用于添加对应的springboot依赖和cloud依赖。本模块我们的配置读取使用的是nacos&a…...
django中使用ajax发送请求
1、ajax简单介绍 浏览器向网站发送请求时 是以URL和表单的形式提交的post 或get 请求,特点是:页面刷新 除此之外,也可以基于ajax向后台发送请求(异步) 依赖jQuery 编写ajax代码 $.ajax({url: "发送的地址"…...
OpenClaw+GLM-4.7-Flash:3个提升开发效率的自动化脚本
OpenClawGLM-4.7-Flash:3个提升开发效率的自动化脚本 1. 为什么选择这个技术组合? 作为一名长期在终端里摸爬滚打的开发者,我一直在寻找能够真正融入日常工作的AI助手方案。直到遇到OpenClawGLM-4.7-Flash这个组合,才找到了理想…...
手把手教你用Python+AI大模型,把Yapi接口文档变成自动化测试脚本(附避坑指南)
用Python与大模型实现Yapi接口自动化测试的工程化实践 在中小型技术团队中,接口测试往往是质量保障的薄弱环节。传统手工编写测试用例的方式不仅耗时耗力,更难以应对快速迭代的开发节奏。本文将分享如何利用Python生态与AI大模型能力,将Yapi平…...
从航拍影像到三维地形:OpenDroneMap实战指南与常见问题解答
从航拍影像到三维地形:OpenDroneMap实战指南与常见问题解答 【免费下载链接】ODM A command line toolkit to generate maps, point clouds, 3D models and DEMs from drone, balloon or kite images. 📷 项目地址: https://gitcode.com/gh_mirrors/od…...
机器视觉中的坐标系转换:从像素到世界的无缝衔接
1. 机器视觉中的坐标系基础概念 第一次接触机器视觉时,最让我困惑的就是各种坐标系之间的关系。记得当时调试工业相机时,明明在图像上看到了目标物体,但机械臂就是抓不准位置。后来才发现,问题出在没有正确理解像素坐标系和世界坐…...
别再乱用String拼接了!揭秘StringBuilder和StringBuffer的正确使用场景
Java字符串拼接性能优化:StringBuilder与StringBuffer深度解析 在Java开发中,字符串操作是最基础也最频繁的任务之一。很多开发者习惯性地使用""进行字符串拼接,却不知道这背后隐藏着巨大的性能陷阱。本文将带你深入理解String、St…...
CST、Sspp与色散曲线的关联
CST cst Sspp 色散曲线在电磁仿真领域摸爬滚打过的工程师,对色散曲线这个磨人的小妖精应该都不陌生。今天咱们就来聊聊怎么用CST Studio Suite里的本征模求解器(Eigenmode Solver)提取波导结构的色散曲线,手把手带你从懵逼到上手…...
告别特征点!FAST-LIVO2的‘直接法’融合:如何用原始点云和图像块实现更快的SLAM?
FAST-LIVO2:直接法SLAM的革命性突破与工程实践指南 1. 直接法SLAM的技术演进与核心价值 当波士顿动力的Atlas机器人完成后空翻动作时,其核心定位系统正面临着与人类体操运动员相似的挑战——如何在高速运动中维持对环境的精确感知。这正是FAST-LIVO2这类…...
3个步骤在Docker容器中运行本地Windows ISO镜像:从配置到优化
3个步骤在Docker容器中运行本地Windows ISO镜像:从配置到优化 【免费下载链接】windows Windows inside a Docker container. 项目地址: https://gitcode.com/GitHub_Trending/wi/windows 问题导入:为什么需要本地ISO镜像? 在使用Doc…...
终极指南:如何在ComfyUI中掌握IPAdapter Plus图像风格迁移技术
终极指南:如何在ComfyUI中掌握IPAdapter Plus图像风格迁移技术 【免费下载链接】ComfyUI_IPAdapter_plus 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI_IPAdapter_plus 在AI图像生成领域,ComfyUI IPAdapter Plus插件正在成为图像风格迁…...
RTX 4090D深度学习镜像效果展示:PyTorch 2.8实测Wan2.2-T2V高清视频生成
RTX 4090D深度学习镜像效果展示:PyTorch 2.8实测Wan2.2-T2V高清视频生成 1. 开箱即用的专业级深度学习环境 当拿到这台搭载RTX 4090D显卡的工作站时,我首先被它的硬件配置震撼了。24GB显存加上120GB内存的组合,在本地运行大型视频生成模型不…...
