组合数学1.4&3.10 By cellur925
本文引用于清华大学出版社卢开澄、卢华明《组合数学第五版》。
今天我们稍微讨论下圆排列以及$n$对夫妻的问题。
1.4圆周排列
这个问题是:从$n$个人中取$r$个在圆周上,我们用$Q(n,r)$表示这个答案。
类比简单的直线排列,不同之处在于首尾的处理,圆周情况可能会有很多重复。
不难理解,$Q(n,r)$=$P(n,r)$/$n$。
例1:5个男生,3个女生围一圆桌坐,按照上面的公式,代入我们可以得出式子:$8!$/8=$7!$。
要求男生$B1$不和女生$G1$x相邻坐?考虑把$G1$排除,7个人围一圆桌,那么有$6!$种方案,$G1$插入有5种方法,所以根据乘法原理,总方案数为$5*6!$。
要求3个女生不相邻?参考上一问的解题方法,排除他们仨,有$4!$种方案,3个女生依次插入,根据乘法原理,总方案数为$4!*5*4*3$。
例2:$n$对夫妻围一圆桌坐,求每队夫妻相邻而坐的方案数。
考虑把夫妻二人进行捆绑,看成一个人,那么有$(n-1)!$种方案,因为夫妻左右坐是不定的,所以总方案数为$2^n*(n-1)!$。
例3:有12个人分两桌,每桌6人,围着圆桌而坐,有多少方案? 根据上面的式子,显然有$C(12,6)*(5!)^2$。
12对夫妻平分为2桌,围圆桌而坐相邻有多少方案? 显然有$C(12,6)*(5!*2^6)^2$。
3.10 $n$对夫妻问题
我们要解决的,是$n$对夫妻围圆桌而坐,求夫妻不相邻的方案数。
这个问题运用了很综合的数论问题,需要用到容斥原理。
我们不妨把这个问题抽象成集合间的问题,令$A_i$表示第i对人坐在一起的集合
$ans=|\overline{A_1}\cap \overline{A_2}\cap \overline{A_3}\cap ...\overline{A_n}|$
(上面那个横线是取反的意思,就是$A_i$表示第i对人坐在一起的集合,那么带个横线就是表示第$i$对人不坐在一起。)
这就是一个容斥原理了。
以下我引用Chemist的题解==
再回顾一下$A_i$的含义,$A_i$表示第i对人坐在一起的集合,那么考虑只有一对人坐在一起有多少种情况呢,可以把这一对人看成一个人,反正他们总要坐在一起,问题就变成了$2n-1$个人围坐在圆桌上,共有$(2n-1-1)!$种情况,注意还要乘上一个2,因为这一对人可以换位,还要再乘上一个C(n,1),因为不同的一对人坐在一起的方案是不同的。其他的同理,这样我们就可以算出后面每个式子的具体值。
$ans=N-\sum_{i=1}^{n}|A_i|+\sum_{i=1}^{n}\sum_{j=i+1}^{n}|A_i\cap A_j|...+(-1)^n|A_1\cap A_2\cap A_3...\cap A_n|$
$=(2n-1)!-2C(n,1)(2n-2)!+2^2C(n,2)(2n-3)!...$
$=\sum_{i=0}^{n}(-1)^i2^iC(n,i)(2n-i-1)!$
ex:有男女各5人,其中3对是夫妻,沿10个位置的圆桌就座,若每对夫妻都要坐在相邻的位置,问有多少种坐法?
把夫妻继续捆绑,变成了7人,那么方案数就是$6!*2^3$
组合数学1.4&3.10 By cellur925的更多相关文章
- 八皇后问题---详解---参考<<紫书>>
在一个8*8的棋盘上 放置八个皇后 , 使得他们互相不攻击(皇后攻击范围为 同行同列同对角线) , 方法一 : 从64个格子中 选一个子集 , 使得 " 子集 中恰好有八个元素 , 且任意 ...
- 2018.10.31 NOIP模拟 几串字符(数位dp+组合数学)
传送门 如果观察到性质其实也不是很难想. 然而考试的时候慌得一批只有心思写暴力233. 下面是几个很有用的性质: c0,1+1≥c1,0≥c0,1c_{0,1 }+1 ≥ c_{1,0} ≥ c_{0 ...
- 2018.10.30 uoj#273. 【清华集训2016】你的生命已如风中残烛(组合数学)
传送门 组合数学妙题. 我们把这mmm个数都减去111. 然后出牌的地方就变成了−1-1−1. 然后发现求出每个位置的前缀和之后全部都是非负数. 考虑在最后加入一个−1-1−1构成一个m+1m+1m+ ...
- 2018.10.25 bzoj4517: [Sdoi2016]排列计数(组合数学)
传送门 组合数学简单题. Ans=(nm)∗1Ans=\binom {n} {m}*1Ans=(mn)∗1~(n−m)(n-m)(n−m)的错排数. 前面的直接线性筛逆元求. 后面的错排数递推式本蒟 ...
- 2018.10.23 NOIP训练 Leo的组合数问题(组合数学+莫队)
传送门 好题. 考察了莫队和组合数学两个知识板块. 首先需要推出单次已知n,mn,mn,m的答案的式子. 我们令f[i]f[i]f[i]表示当前最大值为第iii个数的方案数. 显然iii之后的数都是单 ...
- 2018.10.04 NOIP模拟 排队(组合数学)
传送门 T2原题啊. 直接组合数学求出合法方案数,再除去一个(n+m)!(n+m)!(n+m)!: ans=0(n<m)ans=0(n<m)ans=0(n<m) ans=n+1−mn ...
- 2018.10.30 NOIP模拟 排列树(树形dp+组合数学)
传送门 考试的时候乱搞过了. 其实题目就是让你求拓扑排序方案数. 直接树形dpdpdp然后组合数转移一下就行了. 乱搞代码
- 2018.10.25 bzo1227: [SDOI2009]虔诚的墓主人(组合数学+扫描线+bit)
传送门 有点难调啊.其实是我自己sb了 不过交上去1A1A1A还是平衡了一下心态. 所以这道题怎么做呢? 我们考虑对于一个点(x,y)(x,y)(x,y)如果这个点成为中心,正左/右/上/下分别有l/ ...
- 2018.10.25 atcoder Leftmost Ball(计数dp+组合数学)
传送门 dp妙题啊. 我认为DZYODZYODZYO已经说的很好了. 强制规定球的排序方式. 然后就变成了一个求拓扑序数量的问题. 代码: #include<bits/stdc++.h> ...
随机推荐
- Java学习之集合
1.ArrayList:采用数组的形式保存对象,这种方式将对象保存在连续的位置中,所以查询效率比较高,但是插入删除时麻烦,并且ArrayList不是线程安全的. 2.Vector:保存对象的方式与Ar ...
- MAC Intellij IDEA 经常使用快捷键(本人亲自測试过)
MAC Intellij IDEA 经常使用快捷键 keymap 设置 MAC OS X 10.5+ alt+f7查找变量方法使用的地方 F3加入书签 Ctrl + O快捷覆写方法 Alt + F3 ...
- Androidclient验证Licence的原理
需求 限制App的使用,使App仅仅能在有许可的设备上执行. 分析及解决方式 原理 让App在每次执行的时候都连接server进行合法性验证--当然是一个非常成熟可靠的方案. 可是这样做的局限也是每次 ...
- 翻译:A Tutorial on the Device Tree (Zynq) -- Part I
A Tutorial on the Device Tree (Zynq) -- Part I 此教程的目的 本教程是针对Xilinx' Zynq-7000 EPP设备(一个集成了FPGA的ARM Co ...
- scala快速学习笔记(三):Collections,包
VI.Collections 1.Array 一些常用方法:println, map( _ * 2), filter(_ % 2 == 0), sum, reserve Array是不可变的, ...
- vc6.0的一些快捷键
1.检测程序中的括号是否匹配 把光标移动到需要检测的括号(如大括号{}.方括号[].圆括号()和尖括号<>)前面,键入快捷键“Ctrl+]”.如果括号匹配正确,光标就跳到匹配的括号处 ...
- 给EasyUi的Form加入自己主动填充部分输入框的方法
依据项目须要,基于获取的数据对Form的部分输入框进行填充,而默认的EasyUI的Form 没有该方法.仅仅能一个输入框一个输入框的直接赋值,为此添加了Form对象的setValues,实现依据给定的 ...
- 通过反射调用一个单列的方法(单列必须有“getInstance”方法)
Class<?> _clazz = Class.forName(_clazzName); if (_clazz != null) { Method _getInstance = _claz ...
- ruby require
require一般用来加载其它的类,如: #Ruby代码 : require 'dbi' require "rexml/document" 但是上面加载的是标准类库里面的文 ...
- MYSQL初级学习笔记一:MYSQL常用命令和数据库操作(DDL)!(视频序号:初级_3,4)
知识点一:MYSQL常用命令(3) 登入方法:一,mysql –u 账号 –p 密码 退出方法:一,EXIT,QUIT 修改MYSQL命令提示符: 连接上客户机之后,通常使用prompt命令修改: 连 ...