首页 > 其他分享 >组合杂题选讲 #8

组合杂题选讲 #8

时间:2023-01-22 13:33:13浏览次数:56  
标签:mathbf 组合 选讲 矩阵 leq mathsf 社团 杂题 operatorname

问题描述

题意:现在有 \(n\) 个人要成立若干个社团(一个人可以属于多个社团,也可以不属于任何社团)满足

  • 没有两个社团包含的成员完全相同;
  • 存在一个整数 \(t\),使得任意两个不同的社团所共有的成员数恰好为 \(t\)。

求证:所能成立的社团数量不超过 \(n\) 个。

提示:形式化地说,设 \(U=\{1,2,\dots,n\}\),已知集簇 \(S\subseteq 2^U\) 满足存在 \(t\in U\),使得对于任意 \(A,B\in S\),要么 \(|A\cap B|=t\),要么 \(A=B\)。求证 \(|S|\leq n\)。

设 \(A\) 是一个集合,记号 \(2^A\) 表示由 \(A\) 的所有子集组成的集簇(集合的集合)。

容易发现,只要每个人均成立一个只包含自己的社团,就可以成立恰好 \(n\) 个社团,满足每个社团的成员均不相同,且任意两个不同的社团所共有的成员数量均为 \(0\)(也即 \(t=0\))。

无论是题面还是证明,这个问题和组合杂题选讲 #3 非常相似,因此也建议读者自行举一反三,尝试找出证明。

解答

假设已经确定了某种成立 \(m\) 个社团的方案,第 \(i(1\leq i\leq m)\) 个社团包含的成员的集合记作 \(C_i\)。

(分类讨论)如果存在某个 \(C_i\) (不妨设为 \(C_1\))满足 \(|C_i|=t\),那么一定有 \(t\geq1\) 且 \(C_1\subsetneq C_i(2\leq i\leq m)\)。于是对于任意不相同的 \(i,j\geq2\),一定有

\[C_i\cap C_j=C_1 \]

那么所有 \(C_i\setminus C_1(i\geq2)\) 均是非空的不交集合,这样的集合的数量至多为 \(n-|C_1|\leq n-1\),于是总集合数 \(m\leq n\)。

另一方面,现在假设不存在某个 \(C_i\),满足 \(|C_i|=t\),也即对于任意 \(C_i\) 均有 \(|C_i|\geq t\)。考虑构造 \(\mathbb R^{m\times n}\) 上的矩阵 \(A\),满足

\[A_{i,j}=\begin{cases}1 & j\in C_i\\0&j\not\in C_i&\end{cases} \]

并构造 \(\mathbb R^{m\times m}\) 上的矩阵 \(B=AA^{\mathsf T}\),考虑 \(B\) 的组合意义,于是

\[B_{i,j}=\begin{cases}|C_i|&i=j\\t&i\neq j\end{cases} \]

我们用 \(\dim V\) 表示线性空间 \(V\) 的维数(线性基的个数),用 \(\operatorname{range} T\) 表示线性变换 \(T\) 的值域。用 \(\operatorname{null}T\) 表示线性变换 \(T\) 的零空间,即被 \(T\) 映射到零向量的向量组成的集合。

那么只要验证 \(B\) 是双射就即可说明,

\[m=\dim\operatorname{range}B\leq\dim\operatorname{range}A\leq n \]

而验证 \(B\) 是双射只需要把 \(B\) 写成

\[B=t\mathrm J_m+\operatorname{diag}(|C_1|-t,\dots,|C_m|-t) \]

的形式,其中 \(J_m\) 表示全为 \(1\) 的 \(m\) 阶矩阵,\(\operatorname{diag}(a_1,\dots,a_m)\) 表示对角线上分别为 \(a_1,\dots,a_m\) 的对角矩阵。然后根据行列式的定义论证 \(\det B\neq0\) 即可。

另一方面,我们也可以通过说明 \(B\) 是正定矩阵来证明该命题,具体而言,就是说明 \(B\) 是对称矩阵且对于任意非零向量 \(\mathbf x\in\mathbb R^m\),均有 \(\mathbf x^{\mathsf T}B\mathbf x>0\)。

为了简便起见,将 \(|C_i|\) 记作 \(d_i\),将 \(\operatorname{diag}(d_1-t,\dots,d_m-t)\) 记作矩阵 \(D\)。注意到 \(d_i-t>0\) 对于任意整数 \(1\leq i\leq m\) 均成立,于是显然矩阵 \(D\) 是正定矩阵。同时 \(\mathrm J_m\) 显然是半正定矩阵,也即对于任意非零向量 \(\mathbf x\in\mathbb R^m\),均有 \(\mathbf x^{\mathsf T}\mathrm J_m\mathbf x=\left(\sum_{i=1}^m\mathbf x_i\right)^2\geq0\)。于是,对于任意非零向量 \(\mathbf x\in\mathbb R^m\),

\[\mathbf x^{\mathsf T}B\mathbf x=\mathbf x^{\mathsf T}(t\mathrm J_n+D)\mathbf x=t\mathbf x^{\mathsf T}\mathrm J_n\mathbf x+\mathbf x^{\mathsf T}D\mathbf x>0 \]

这说明 \(B\) 是正定矩阵,根据正定矩阵的定义,有 \(\dim\operatorname{null}T=0\),即 \(B\) 是双射。

2023年1月22日 于深圳南山前海

新年快乐!

标签:mathbf,组合,选讲,矩阵,leq,mathsf,社团,杂题,operatorname
From: https://www.cnblogs.com/szdytom/p/combinatorial-misc-8.html

相关文章

  • Trick 11:区间 DP 杂题选讲
    大家好,下面讲的题目一个都不会,但是我脸皮很厚,所以分享给大家了。搁前面说一句:做题的时候能不能别丢掉这个算法啊!试一下啊!Pro.1P7914这是一个练手题。我们先来说说括号......
  • jquery validate和jquery form 插件组合实现验证表单后AJAX提交,bootstrap修改错误信息
    jqueryvalidate和jqueryform插件组合实现验证表单后AJAX提交要实现表单验证和无刷新提交表单我们可以使用jQuery的两个很好用的插件——jqueryvalidate.js和jquery......
  • VScode和cmake的组合拳
    cmake的基本使用1.cmake的常用指令cmake是一个跨平台的安装编译软件,可以用简单的语法规则描述所有平台的安装编译过程,下面介绍cmake的常用指令cmake_minimum_requir......
  • 数字电路实验 04 - | 组合逻辑电路的设计与测试
    一、实验目的和任务掌握组合逻辑电路的分析与设计方法。加深对基本门电路使用的理解。二、实验原理介绍三、实验数据、计算及分析ABCDZ00000001000100001100100001010011000......
  • 学习模式-组合模式
    组合模式组合模式(CompositePattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的......
  • 题目选讲
    题目选讲\(\text{ByDaiRuiChen007}\)I.[洛谷4637]-扫雷机器人ProblemLink思路分析考虑求出期望的过程:每种引爆地雷的顺序,共有\(n!\)种情况对于每种顺序,计......
  • 洛谷P1157 组合的输出
    原题链接题解:本题有两种办法解决,第一种使用stl中next_permutation函数#include"iostream"#include"algorithm"#include"iomanip"usingnamespacestd;intmai......
  • FPGA:组合逻辑电路的设计
    组合逻辑电路的设计根据实际逻辑问题,求出所要求逻辑功能的最简单逻辑电路。组合逻辑电路的设计步骤1.逻辑抽象:根据实际逻辑问题的因果关系确定输入、输出变量,并定义逻辑状态......
  • 剑指Offer 082. 含有重复元素集合的组合
    给定一个可能有重复数字的整数数组candidates和一个目标数target,找出candidates中所有可以使数字和为target的组合。candidates中的每个数字在每个组合中只能使......
  • 计数选讲
    1.CF1728G[*2700]看到这个一次合法的照明定义为所有的点都至少被一盏灯照亮,其实我们就应该想到容斥了。\(m=16\),那么铁定让我们关于点进行容斥了。容斥有正反两面:强制......