n阶矩阵中填入0,1,使得每行1的个数相等,每列1的个数两两不同的填法总数

由于每行1的个数相等,不妨设每行1的个数为 r ,在 n阶矩阵 A的 n 列中任取 i 1 , i 2 , − − − , i k i_1,i_2,---,i_k i1,i2,,ik 这 k 列,如果这 k 列的每一列都有 m 个1,现在来计算满足这一条件的填法总数.

考察这 k 列和 A 每一行交叉的 k 个位置,如果这 k 个位置有 t 个1,那么使这 k 个位置有 t 个1的取法总数是

C t k C_{t}^{k} Ctk ,每一种取法的0和1在 k 个交叉位置形成一个位模式,如果把所有取法按其对应的位模式的字典序编号为 1 , 2 , − − − , C t k 1,2,---,C_{t}^{k} 1,2,,Ctk ,则每一种取法在 n 行中出现的次数(非负整数)依次记为 α t 1 , α t 2 , − − − , α t C t k \alpha_{t1},\alpha_{t2},---,\alpha_{tC_{t}^{k}} αt1,αt2,,αtCtk ,对于每一种取法,由于在 k 个交叉位置有 t 个1,故同一行剩下 n − k n-k nk 个位置还可以放置 r − t r-t rt 个1,方法总数为 C r − t n − k C_{r-t}^{n-k} Crtnk 故由乘法原理,在不考虑 α t 1 , α t 2 , − − − , α t C t k \alpha_{t1},\alpha_{t2},---,\alpha_{tC_{t}^{k}} αt1,αt2,,αtCtk 在 n 行中的具体分布的情况下所有的 C t k C_{t}^{k} Ctk 种取法对应的矩阵 A 的填法总数是 ( C r − t n − k ) α t 1 + α t 2 + − − − + α t C t k (C_{r-t}^{n-k})^{\alpha_{t1}+\alpha_{t2}+---+\alpha_{tC_{t}^{k}}} (Crtnk)αt1+αt2+−−−+αtCtk 再用乘法原理对 t 计算连乘积得到不考虑 α t 1 , α t 2 , − − − , α t C t k \alpha_{t1},\alpha_{t2},---,\alpha_{tC_{t}^{k}} αt1,αt2,,αtCtk 在 n 行中的具体分布的情况下所有可能的 t 对应的所有可能得取法对应的矩阵 A 的填法总数

∏ t = 0 m i n ( r , k ) ( C r − t n − k ) α t 1 + α t 2 + − − − + α t C t k \prod_{t=0}^{min(r,k)}{(C_{r-t}^{n-k})^{\alpha_{t1}+\alpha_{t2}+---+\alpha_{tC_{t}^{k}}}} t=0min(r,k)(Crtnk)αt1+αt2+−−−+αtCtk

注意我们有约束关系 ∑ t = 0 k α t 1 + α t 2 + − − − + α t C t k = n \sum_{t=0}^{k}{\alpha_{t1}+\alpha_{t2}+---+\alpha_{tC_{t}^{k}}}=n t=0kαt1+αt2++αtCtk=n

以及 ∑ t = 1 k α t 1 ( i ) + α t 2 ( i ) + − − − + α t C t − 1 k − 1 ( i ) = m \sum_{t=1}^{k}{\alpha_{t1}^{(i)}+\alpha_{t2}^{(i)}+---+\alpha_{tC_{t-1}^{k-1}}^{(i)}}=m t=1kαt1(i)+αt2(i)++αtCt1k1(i)=m 1 < = i < = k 1<=i<=k 1<=i<=k

(把 k 个交叉位置从左至右第 i 个位置上的数取1,剩下 k − 1 k-1 k1 个位置取 t − 1 t-1 t1 个1对应的每一种取法在

α t 1 , α t 2 , − − − , α t C t k \alpha_{t1},\alpha_{t2},---,\alpha_{tC_{t}^{k}} αt1,αt2,,αtCtk 中对应的数依次记为 α t 1 ( i ) , α t 2 ( i ) , − − − , α t C t − 1 k − 1 ( i ) \alpha_{t1}^{(i)},\alpha_{t2}^{(i)},---,\alpha_{tC_{t-1}^{k-1}}^{(i)} αt1(i),αt2(i),,αtCt1k1(i) 约束关系 ∑ t = 1 k α t 1 ( i ) + α t 2 ( i ) + − − − + α t C t − 1 k − 1 ( i ) = m \sum_{t=1}^{k}{\alpha_{t1}^{(i)}+\alpha_{t2}^{(i)}+---+\alpha_{tC_{t-1}^{k-1}}^{(i)}}=m t=1kαt1(i)+αt2(i)++αtCt1k1(i)=m 即指所有可能的 t 对应的所有可能得取法对应的矩阵 A 的填法中

i 1 , i 2 , − − − , i k i_1,i_2,---,i_k i1,i2,,ik 中的第 i 列的1的个数为m)

如果再考虑 α t 1 , α t 2 , − − − , α t C t k \alpha_{t1},\alpha_{t2},---,\alpha_{tC_{t}^{k}} αt1,αt2,,αtCtk ( 0 < = t < = k 0<=t<=k 0<=t<=k) 在 n 行中的具体分布,由组合数公式所有的分布可能数

n ! ∏ t = 0 k α t 1 ! α t 2 ! − − − α t C t k ! \frac{n!}{\prod_{t=0}^{k}{\alpha_{t1}!\alpha_{t2}!---\alpha_{tC_{t}^{k}}!}} t=0kαt1!αt2!−−−αtCtk!n! 从而由乘法原理所有可能的 t 对应的所有可能得取法对应的矩阵 A 的填法总数是

n ! ∏ t = 0 k α t 1 ! α t 2 ! − − − α t C t k ! ∏ t = 0 m i n ( r , k ) ( C r − t n − k ) α t 1 + α t 2 + − − − + α t C t k \frac{n!}{\prod_{t=0}^{k}{\alpha_{t1}!\alpha_{t2}!---\alpha_{tC_{t}^{k}}!}} \prod_{t=0}^{min(r,k)}{(C_{r-t}^{n-k})^{\alpha_{t1}+\alpha_{t2}+---+\alpha_{tC_{t}^{k}}}} t=0kαt1!αt2!−−−αtCtk!n!t=0min(r,k)(Crtnk)αt1+αt2+−−−+αtCtk

对满足约束条件的所有可能的 α t 1 , α t 2 , − − − , α t C t k \alpha_{t1},\alpha_{t2},---,\alpha_{tC_{t}^{k}} αt1,αt2,,αtCtk 求和得到矩阵 A的 i 1 , i 2 , − − − , i k i_1,i_2,---,i_k i1,i2,,ik 这 k 列的每一列都有 m 个1的所有可能的填法总数 f ( n , m , k , r ) = f(n,m,k,r)= f(n,m,k,r)=

∑ ∑ t = 0 k α t 1 + α t 2 + − − − + α t C t k = n , ∑ t = 1 k α t 1 ( i ) + α t 2 ( i ) + − − − + α t C t − 1 k − 1 ( i ) = m , 1 < = i < = k n ! ∏ t = 0 k α t 1 ! α t 2 ! − − − α t C t k ! ∏ t = 0 m i n ( r , k ) ( C r − t n − k ) α t 1 + α t 2 + − − − + α t C t k \sum_{\sum_{t=0}^{k}{\alpha_{t1}+\alpha_{t2}+---+\alpha_{tC_{t}^{k}}}=n,\sum_{t=1}^{k}{\alpha_{t1}^{(i)}+\alpha_{t2}^{(i)}+---+\alpha_{tC_{t-1}^{k-1}}^{(i)}}=m,1<=i<=k}{\frac{n!}{\prod_{t=0}^{k}{\alpha_{t1}!\alpha_{t2}!---\alpha_{tC_{t}^{k}}!}} \prod_{t=0}^{min(r,k)}{(C_{r-t}^{n-k})^{\alpha_{t1}+\alpha_{t2}+---+\alpha_{tC_{t}^{k}}}}} t=0kαt1+αt2+−−−+αtCtk=n,t=1kαt1(i)+αt2(i)+−−−+αtCt1k1(i)=m,1<=i<=kt=0kαt1!αt2!−−−αtCtk!n!t=0min(r,k)(Crtnk)αt1+αt2+−−−+αtCtk

下面令 B n B_n Bn 表示{ 1 , 2 , − − − , n 1,2,---,n 1,2,,n}的所有二元子集构成的集合, B n , k B_{n,k} Bn,k 表示 B n B_n Bn 的所有 k 元子集构成的集合

A i j A_{ij} Aij 表示 A 满足每行1的个数为 r ,且i,j列1的个数不等的填法的集合

由容斥原理 ∣ ⋂ 1 < = i < j < = n A i j ∣ = ∣ S ∣ + ∑ k = 1 C 2 n ( − 1 ) k ∑ ( ( i 1 , j 1 ) , ( i 2 , j 2 ) , − − − , ( i k , j k ) ) ∈ B n , k ∣ A i 1 j 1 ˉ ∩ A i 2 j 2 ˉ ∩ − − − ∩ A i k j k ˉ ∣ |\bigcap_{1<=i<j<=n}{A_{ij}}| = |S|+\sum_{k=1}^{C_{2}^{n}}{(-1)^{k}\sum_{((i_1,j_1),(i_2, j_2),---,(i_k,j_k))\in B_{n,k}}}{|\bar{A_{i_1j_1}}\cap \bar{A_{i_2j_2}}\cap --- \cap \bar{A_{i_kj_k}}|} 1<=i<j<=nAij=S+k=1C2n(1)k((i1,j1),(i2,j2),−−−,(ik,jk))Bn,kAi1j1ˉAi2j2ˉAikjkˉ

= ∣ S ∣ + ∑ k = 2 n ∑ 1 < = i 1 < − − − < i k < = n E ( i 1 , i 2 , − − − , i k ) ∣ B ( i 1 , i 2 , − − − , i k ) ∣ = |S|+\sum_{k=2}^{n}{\sum_{1<=i_1<---<i_k<=n}{E(i_1,i_2,---,i_k)|B(i_1,i_2,---,i_k)|}} =S+k=2n1<=i1<−−−<ik<=nE(i1,i2,,ik)B(i1,i2,,ik)

其中 S S S 表示向矩阵 A 填入0,1使得每行1的个数为 r 的填法集合 ∣ S ∣ = ( C r n ) n |S|=(C_{r}^{n})^{n} S=(Crn)n

B ( i 1 , i 2 , − − − , i k ) B(i_1,i_2,---,i_k) B(i1,i2,,ik) 表示 i 1 , i 2 , − − − , i k i_1,i_2,---,i_k i1,i2,,ik 这k列1的个数相等的填法集合

下面来决定系数 E ( i 1 , i 2 , − − − i k ) E(i_1,i_2,---i_k) E(i1,i2,ik)

D k , f D_{k,f} Dk,f 表示{ i 1 , i 2 , − − − , i k i_1,i_2,---,i_k i1,i2,,ik }的 f f f 元子集构成的集合

D k m D_{k}^{m} Dkm 表示 D k , 2 D_{k,2} Dk,2 的所有 m 元子集构成的集合 ∣ D k m ∣ = C m C 2 k |D_{k}^{m}| = C_{m}^{C_{2}^{k}} Dkm=CmC2k

B i t B_{i_{t}} Bit ( 1 < = t < = k 1<=t<=k 1<=t<=k ) 表示 D k m D_{k}^{m} Dkm 中包含包含 i t i_t it 的二元组的元素构成的集合,则由容斥原理

∣ B i 1 ∩ − − − B i k ∣ = ∣ D k m ∣ + ∑ s = 1 k ( − 1 ) s ∑ ( t 1 , t 2 , − − − , t s ) ∈ D k , s ∣ B t 1 ˉ ∩ − − − ∩ B t s ˉ ∣ |B_{i_1}\cap ---B_{i_k}| = |D_{k}^{m}|+\sum_{s=1}^{k}{(-1)^s\sum_{(t_1,t_2,---,t_s)\in D_{k,s}}{|\bar{B_{t_1}}\cap---\cap \bar{B_{t_s}}|}} Bi1Bik=Dkm+s=1k(1)s(t1,t2,−−−,ts)Dk,sBt1ˉBtsˉ

其中 B t 1 ˉ ∩ − − − ∩ B t s ˉ \bar{B_{t_1}}\cap---\cap \bar{B_{t_s}} Bt1ˉBtsˉ表示 D k m D_{k}^{m} Dkm 中不包含包含 i t i_t it( 1 < = t < = s 1<=t<=s 1<=t<=s ) 的二元组的元素构成的集合

实际上 B t 1 ˉ ∩ − − − ∩ B t s ˉ \bar{B_{t_1}}\cap---\cap \bar{B_{t_s}} Bt1ˉBtsˉ 就是{ i 1 , i 2 , − − − i k i_1,i_2,---i_k i1,i2,ik }-{ t 1 , t 2 , − − − , t s t_1,t_2,---,t_s t1,t2,,ts }的二元子集构成的集合的全部m元子集构成的集合,其大小即为 C m C 2 r − s C_{m}^{C_{2}^{r-s}} CmC2rs 因此 ∣ B t 1 ˉ ∩ − − − ∩ B t s ˉ ∣ = C m C 2 r − s |\bar{B_{t_1}}\cap---\cap \bar{B_{t_s}}| = C_{m}^{C_{2}^{r-s}} Bt1ˉBtsˉ=CmC2rs

∣ B i 1 ∩ − − − B i k ∣ = C m C 2 k + ∑ s = 1 m i n ( r , k ) ( − 1 ) s C s k C m C 2 r − s |B_{i_1}\cap ---B_{i_k}| = C_{m}^{C_{2}^{k}}+\sum_{s=1}^{min(r,k)}{(-1)^sC_{s}^{k}C_{m}^{C_{2}^{r-s}}} Bi1Bik=CmC2k+s=1min(r,k)(1)sCskCmC2rs

从而 E ( i 1 , i 2 , − − − i k ) = ∑ m = 1 C 2 k ( − 1 ) m ∣ B i 1 ∩ − − − B i k ∣ = ∑ m = 1 C 2 k ( − 1 ) m ( C m C 2 k + ∑ s = 1 m i n ( r , k ) ( − 1 ) s C s k C m C 2 r − s ) E(i_1,i_2,---i_k)=\sum_{m=1}^{C_{2}^{k}}{(-1)^m|B_{i_1}\cap ---B_{i_k}|} = \sum_{m=1}^{C_{2}^{k}}{(-1)^m(C_{m}^{C_{2}^{k}}+\sum_{s=1}^{min(r,k)}{(-1)^sC_{s}^{k}C_{m}^{C_{2}^{r-s}}})} E(i1,i2,ik)=m=1C2k(1)mBi1Bik=m=1C2k(1)m(CmC2k+s=1min(r,k)(1)sCskCmC2rs)

由前文结论 ∣ B ( i 1 , i 2 , − − − , i k ) ∣ = ∑ m = 0 [ n r k ] f ( n , m , k , r ) |B(i_1,i_2,---,i_k)| = \sum_{m= 0}^{\left[ \frac{nr}{k} \right]}{f(n,m,k,r)} B(i1,i2,,ik)=m=0[knr]f(n,m,k,r)

求和上限是因为约束条件 k m < = r n km<=rn km<=rn

于是我们有 g ( n , r ) = ∣ ⋂ 1 < = i < j < = n A i j ∣ g(n,r) = |\bigcap_{1<=i<j<=n}{A_{ij}}| g(n,r)=1<=i<j<=nAij = ( C r n ) n + ∑ k = 2 n ∑ 1 < = i 1 < − − − < i k < = n ( ∑ m = 1 C 2 k ( − 1 ) m ( C m C 2 k + ∑ s = 1 m i n ( r , k ) ( − 1 ) s C s k C m C 2 r − s ) ) ∑ m = 0 [ n r k ] f ( n , m , k , r ) =(C_{r}^{n})^{n}+ \sum_{k=2}^{n}{\sum_{1<=i_1<---<i_k<=n}{(\sum_{m=1}^{C_{2}^{k}}{(-1)^m(C_{m}^{C_{2}^{k}}+\sum_{s=1}^{min(r,k)}{(-1)^sC_{s}^{k}C_{m}^{C_{2}^{r-s}}})})\sum_{m= 0}^{\left[ \frac{nr}{k} \right]}{f(n,m,k,r)}}} =(Crn)n+k=2n1<=i1<−−−<ik<=n(m=1C2k(1)m(CmC2k+s=1min(r,k)(1)sCskCmC2rs))m=0[knr]f(n,m,k,r)

= ( C r n ) n + =(C_{r}^{n})^{n}+ =(Crn)n+ ∑ k = 2 n C k n ( ∑ m = 1 C 2 k ( − 1 ) m ( C m C 2 k + ∑ s = 1 m i n ( r , k ) ( − 1 ) s C s k C m C 2 r − s ) ) ∑ m = 0 [ n r k ] f ( n , m , k , r ) \sum_{k=2}^{n}{C_{k}^{n}(\sum_{m=1}^{C_{2}^{k}}{(-1)^m(C_{m}^{C_{2}^{k}}+\sum_{s=1}^{min(r,k)}{(-1)^sC_{s}^{k}C_{m}^{C_{2}^{r-s}}})})\sum_{m= 0}^{\left[ \frac{nr}{k} \right]}{f(n,m,k,r)}} k=2nCkn(m=1C2k(1)m(CmC2k+s=1min(r,k)(1)sCskCmC2rs))m=0[knr]f(n,m,k,r)

最后,由于填入0,1后 A 的每一列1的个数都不同且每一列1的个数在0和n之间(包括0和n)又因为 A 有n列所以 A 的各列1的个数构成的集合实际上为 A i , n A_{i,n} Ai,n = { 0 , 1 , − − − , n 0,1,---,n 0,1,,n }-{ i i i } ( 0 < = i < = n 0<=i<=n 0<=i<=n )

于是所有可能的 r 的集合 E n E_n En = { ∑ x ∈ A i , n x n \frac{\sum_{x\in A_{i,n}}{x}}{n} nxAi,nx | ∑ x ∈ A i , n x n \frac{\sum_{x\in A_{i,n}}{x}}{n} nxAi,nx 为整数, 0 < = i < = n 0<=i<=n 0<=i<=n }

从而n阶矩阵 A 中填入0,1,使得每行1的个数相等,每列1的个数两两不同的填法总数

h ( n ) = ∑ r ∈ E n g ( n , r ) h(n) = \sum_{r\in E_n}{g(n,r)} h(n)=rEng(n,r)

事实上,通过简单的计算可以发现设 k k k为正整数 n = 2 k n=2k n=2k r = k r=k r=k n = 2 k + 1 n=2k+1 n=2k+1 r = k r = k r=k k + 1 k+1 k+1

n = 2 k n=2k n=2k E n = E_n = En={ k k k } n = 2 k + 1 n=2k+1 n=2k+1 E n E_n En = { k , k + 1 k,k+1 k,k+1 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值