一、几何、关系、函数
集合: 集合分为无重集和多重集,多重集的元素出现的次数,叫做该元素的重数。
基数: 给定集合A,称A中的元素个数为集合A的基数,记做
。若
,称A为一个 n-集合 。
幂集 给定集合A,称A所有子集构成的集合为集合A的幂集,记做
。易证
。
图 所谓的图便是点集和边集的集合,记做
。边就是两个点的组成,即为
,易证
。
所以易证以V为顶点集的图的个数为
。
划分: 若A的非空子集的集合
。满足
,则称P是集合A的一个划分。
Cartesion积
;
可知:
。
自反 是自己指向自己。即对于所有的a,
。
对称 所有
,有
。
传递 有
。则
。
等价关系 设R是集合A上的一个二元关系。若R是自反的、对称和传递的。则称R是定义在A上的一个等价关系。即若 ,则称x等价于y,记做x ~y。
映射 设 f 是从A到B的一个二元关系。若f满足
(等于1意义着唯一的a->唯一的b),则称为f是从A到B的一个映射。
单射 没有多对一
满射 B被A完全对应。
二、偏序集
偏序集:设X是一个非空集合,
是定义在
上的具有自反性、反对称性和传递性的二元关系,则称
是一个偏序集,
为偏序关系。
例1.2.2: 集合A由正整数组成的集合,规定
当且仅当
,易证是偏序集。
全序集: 任意两个元素之间有序的集合就是全序集。若不存在有序则称为反链。
子偏序集、高度、宽度…… 这些容易理解
易证那么对于整除关系决定的偏序集
,易证
是子偏序集(全序集),那么子偏序集
是反链。
事实 对于
的两个子偏序集
和
,
是链,
是反链,则
。
极小元 极小元是对于偏序集
,没有异于a的元素x满足
,则称
为极小元;
极大元 极大元是对于偏序集
,没有异于a的元素x满足
,则称
为极大元;
最小元 最小元是对于偏序集
,所有的元素x均满足
,则称
为最小元;
最大元 最大元是对于偏序集
,所有的元素x均满足
,则称
为最大元;
易证: 所有极大元是一个反链,所有极小元也是一个反链。
易证: 设偏序集
的高度为
,则存在划分
使每一个Ai都使反链。
Dilworth定理 设有限偏序集
的宽度为
,则存在划分
,使每一个
都是链。
三、初等计数方法
分为加法原理 和 乘法原理。
组合数: n个元素选取r个,一共有
。记做
,读“n选取r”。
那么现在有
。那么就是
.
这叫做多重组合数。
排列数
。
环排列: 从n个不同的元素挑选r个排列成一个圆环,称为环排列。易知r的环排列包括r个线排列。所以情况数为
。特殊的,n的环排列为
。
例题1.3.5. 8对夫妇坐成一排,每对夫妇都要坐在一起,则有多少种坐法?若围着圆桌坐,有多少种坐法?
、
例 1.3.8. 把集合
划分成
个1-子集,
个2-子集……
个k-子集,恰好是集合的一个划分,求这样的分法有多少种?
重点
例:
个元素,选出基数为
多重集的组合数?
这个问题等价于
。
这个问题又等价于
个
与
个
的序列的个数
所以答案是
。
例题: 字符串NASHVILLETENNESSEE重排列,使第一个N在S之前,并且T在第一个E之后,求组合数?
1、先E再T。
2、先N后S。
3、剩下的。
4、合并前三个
组合恒等式
字丑见谅。。
Lucas定理:
p为素数,将m,n写成p进制,m=a0+a1*p^1+……+ak * p^k,n同理。
则(m,n)==∏ i (0->k) (ai,bi) (mod p)
严谨性证明有点长,不想看了,有兴趣自己百度,或者组合数学 P17。
可以用来快速求组合数。
代码:
const int mod=1009;
ll inv(ll x){
return x==1?1:(mod-mod/x)*inv(mod%x)%mod;
}
ll C(ll n,ll m){
if(m<0||n<m)return 0;
if(m>n-m)m=n-m;
ll zi=1,mu=1;
for(ll i=0;i<m;i++){
zi=zi*(n-i)%mod;
mu=mu*(i+1)%mod;
}
return zi*inv(mu)%mod;
}
ll lucas(ll n,ll m){
ll ans=1;
while(n&&m&&ans){
ans=ans*C(n%mod,m%mod)%mod;
n/=mod,m/=mod;
}
return ans;
}
多项式定理
例题: (x1+x2+x3+x4+x5)^10中x1^3 * x2 * x3^4 * x5^2
ans = (10,(3,1,4,0,2))=12600