【概述】

集合,是集合论中主要研究对象,是指具有某种特定性质的具体的或抽象的对象汇总而成的集体,其中,构成集合的这些对象则称为该集合的元素。

集合中元素的数目称为集合的基数,集合 A 的基数记作:card(A),当其为有限大时,集合 A 称为有限集,反之则为无限集,简单来说,含有有限个元素的集合叫做有限集,含无限个元素的集合叫做无限集。

一个集合具有三个特性:确定性、互异性、无序性。其中,确定性是指给定一个元素其在集合中是否存在是确定的,互异性是指一个集合中任何两个元素都是不同的,无序性是指一个集合中元素间是无序的。

在 STL 中,利用 set 和 multiset 容器可以快速的解决集合问题,关于 set 与 multiset:点击这里

【集合分类】

1.全集与子集

如果一个集合含有所研究问题中涉及的所有元素,那么就称这个集合为全集,记作:U

设 S、T 是两个集合,如果 S 的所有元素都属于 T,则称 S 是 T 的子集,记为:

显然,对于一个集合自身与空集有:

如果 S 是 T 的一个子集,但在 T 中存在一个元素 x 不属于 S,即:,则称 S 是 T 的一个真子集

2.空集

空集是特殊的集合,其不包含任何元素,记为:∅

其有 2 个特点:

  • 空集是任意一个非空集合的真子集
  • 空集是任何一个集合的子集

3.交并集

交集是由属于 A 且属于 B 的相同元素组成的集合,记作:A∩B

并集是由属于集合 A 或属于集合 B 的所有元素所组成的集合,记作:A∪B

5.补集

补集分为相对补集和绝对补集:

  • 由属于 A 而不属于 B 的元素组成的集合,称为 B 关于 A 的相对补集,记作:A-B 或 A\B
  • A 关于全集合 U 的相对补集称作 A 的绝对补集,记作:A' 或 Cu(A) 或 ~A

6.幂集

对于一个集合 A,其所有子集组成的集合,称为集合 A 的幂集

性质:有限集 A 的幂集的基数等于 2 的有限集 A 的基数次幂。

7.相等集合

如果两个集合 S 和 T 的元素完全相同,则称 S 与 T 两个集合相等,记为:S=T

有:

【集合运算】

对于两个集合 A、B 存在以下运算:

  • 交换律:A∩B=B∩A、A∪B=B∪A
  • 结合律:A∪(B∪C)=(A∪B)∪C、A∩(B∩C)=(A∩B)∩C
  • 分配对偶律:A∩(B∪C)=(A∩B)∪(A∩C)、A∪(B∩C)=(A∪B)∩(A∪C)
  • 对偶律:(A∪B)^C=A^C∩B^C、(A∩B)^C=A^C∪B^C
  • 同一律:A∪∅=A、A∩U=A
  • 求补律:A∪A'=U、A∩A'=∅
  • 对合律:A''=A
  • 等幂律:A∪A=A、A∩A=A
  • 零一律:A∪U=U、A∩∅=∅
  • 吸收律:A∪(A∩B)=A、A∩(A∪B)=A
  • 德·摩根律:(A∪B)'=A'∩B'、(A∩B)'=A'∪B'
  • 容斥原理:card(A∪B)=card(A)+card(B)-card(A∩B)
                      card(A∪B∪C)=card(A)+card(B)+card(C)-card(A∩B)-card(B∩C)-card(C∩A)+card(A∩B∩C)

利用 bitset 表示集合时,由于二进制位运算的特点,当两个集合 A、B 逐位进行位运算 A&B、A|B、A^B 时,分别对应两个集合的交集、并集、对称差集

此外,当全为 0 时,表示空集;当全为 1 时,表示全集,即 allBits=(1<<n)-1,那么,对于集合 A 的补集为:allBits^A

关于 bitset:点击这里

【例题】

  1. Equalize the Remainders(CF-999D)(set+模拟):点击这里
  2. 找连续数(HDU-5247)(set+打表):点击这里
  3. 矩阵中不重复的元素(51Nod-1024)(set+暴力):点击这里
  4. The Brand New Function(CF-224C)(set+暴力):点击这里
  5. Colorful Graph(CF-246D)(set+暴力):点击这里
  6. Make a Rectangle(Atcoder-2696)(multiset+优先队列):点击这里

集合 —— 集合与集合运算相关推荐

  1. 2020高考一轮复习数学:必修1集合的概念及运算【经典例题及解析】

    大家好,今天分享高中数学最基础的知识点,高中数学集合的概念及运算模拟题解析,提供给大家高考一轮复习提供帮助. 一.选择题 二.填空题 好了,今天分享就到这里了,本文有电子版还有不知道规划好高中数学学习 ...

  2. 数学表达式: 从恐惧到单挑 (2. 集合的表示与运算)

    2. 集合的表示与运算 集合论是数学的基础, 更是计算机的基础. 这次不玩集合悖论. 集合元素无序. 默认情况下, 集合元素不可重 (组合数学中有可重集的概念). 2.1 集合的表示 枚举法 A={0 ...

  3. python中集合运算_Python中的集合操作与集合运算

    Python中的集合是一种无序的,无重复值的数据结构类型.Python中的集合可以用来检测元素检测或消除重复的元素. 一.python 集合概述 (1)Python中的集合元素是无序的,即元素没有顺序 ...

  4. 【Groovy】集合遍历 ( 使用集合的 findAll 方法查找集合中符合匹配条件的所有元素 | 代码示例 )

    文章目录 一.使用集合的 findAll 方法查找集合中符合匹配条件的所有元素 1.闭包中使用 == 作为 findAll 方法的查找匹配条件 2.闭包中使用 is 作为 findAll 方法的查找匹 ...

  5. Redis 小白指南(二)- 聊聊五大类型:字符串、散列、列表、集合和有序集合...

    Redis 小白指南(二)- 聊聊五大类型:字符串.散列.列表.集合和有序集合 引言 开篇<Redis 小白指南(一)- 简介.安装.GUI 和 C# 驱动介绍>已经介绍了 Redis 的 ...

  6. 集合添加元素python_Python 集合(Set)

    Python 集合(Set) 在本文中,您将学习关于Python集的所有内容;如何创建它们.添加或删除其中的元素,以及在Python中对集合执行的所有操作. Python中的集合是什么? 集合是项目的 ...

  7. python集合运算符_Python 集合、字典、运算符

    先区分一下序列类型和散列类型: 序列类型:list.string.tuple,他们中的元素是有序的. 散列类型:set.dict,他们中的元素无序的.(注意:python3.7.0开始字典变成&quo ...

  8. sql server运算符_了解SQL Server中集合理论与集合运算符之间的相互作用

    sql server运算符 In this article, we will describe the relation between the Set Theory and SQL Server S ...

  9. python的集合类型_python集合类型

    集合类型简介 集合也是容器,其内元素都是无序.唯一.不可变的.它常用来做成员测试.移除重复数据.数据计算(比如交集.并集.差集). 集合Set是dict的无value版.集合也使用大括号包围: > ...

  10. Java中的Collection集合以及Collection集合实现类实例

    Collection集合 集合概述 集合的体系特点 Collection集合常用API Collection集合的遍历方式 方式一:迭代器 方式二:foreach/增强for循环 方式三:lambda ...

最新文章

  1. python采集bandwidth信息
  2. ProGen:蛋白质生成语言模型
  3. 基于 FPGA 的并行全比较排序算法,topK
  4. c语言不安全库_为什么和其他语言相比C语言是快速的语言?
  5. 下一代网络安全将全部基于行为识别
  6. Ubuntu 16.04 LTS 安装Mongodb 3.4
  7. HiveQL学习笔记(二):Hive基础语法与常用函数
  8. win7开机有画面进系统黑屏怎么办
  9. 车辆控制知识总结(一):LQR算法
  10. Openrefine mysql_openrefine 2.5稳定版-OpenRefine下载(数据清洗工具) 2.5 官方稳定版 - 河东下载站...
  11. 学习vb6.0视频教程网址
  12. python2安装biopython
  13. delphi oracle 三层,delphi+Oracle做的三层结构的干部管理系统
  14. 在屏幕上绘制圆形函数
  15. 双向链表DoublyLinkedList类
  16. 香港虚拟主机租用价格
  17. python识别验证码 免费API接口
  18. SpringCloud从入门到精通(超详细文档)
  19. 基于微信小程序的学生社团管理系统
  20. 西门子1200程序与威纶通实例,设备已经运行生产,博图V15

热门文章

  1. 指尖检测 手掌检测 手指弯曲程度检测
  2. php参考手册Array函数(完结了)
  3. 酩悦轩尼诗宣布在巴黎戴高乐机场重开精品酒庄
  4. matlab 加频偏,关于BPSK用dmod调制后加频偏的问题
  5. Python实验报告四 python基础试题练习
  6. Python实现对三维数据表格的整理
  7. 窗口看门狗的作用是什么?窗口看门狗复位分析
  8. SLAM算法知识荟萃
  9. MongoDB学习总结(四) —— 索引的基本用法
  10. android 开机动画停止,修改安卓开机动画(除了部分系统 如MIUI等)