南开大学ACM暑期集训之 组合数学 朱毅 2006年8月.

Slides:



Advertisements
Similar presentations
1.3 二项式定理. [ 题后感悟 ] 方法二较为简单,在展开二项式之前根据二项 式的结构特征进行适当变形,可使展开多项式的过程简化.记 准、记熟二项式 (a + b) n 的展开式,是解答好与二项式定理有关 问题的前提,对较复杂的二项式,有时可先化简再展开,会更 简便.
Advertisements

总 复 习 四则运算 位置与方向 运算定律与简便计算 小数和意义和性质 小数和加法和减法 三角形 统计.
必修2 第一单元 古代中国经济的基本结构和特点
小学科学中的化学 武威十九中 刘玉香.
颜 港 小 学 2009年数学教师暑期业务培训
1、用字母表示数 青州市西苑小学 王怀芹.
2011年10月31日是一个令人警醒的日子,世界在10月31日迎来第70亿人口。当日凌晨,成为象征性的全球第70亿名成员之一的婴儿在菲律宾降生。 ?
新课程背景下高考数学试题的研究 ---高考的变化趋势
江苏省2008年普通高校 招生录取办法 常熟理工学院学生处
小微企业融资担保产品介绍 再担保业务二部 贾天
平面直角坐标系(1) 营口市第十七中学 杨晋.
汽车在( )上行驶.
2011年高考复习数学考纲分析 克拉玛依市高级中学 冯祥杰.
神奇的宇宙 我们的太阳系 宇宙中天体有哪些类型? 刊号:CN77-87 编辑: 施雅苑 今日一叠4版 第1期 认识宇宙 16岁的哈勃
机器设备评估底稿(操作类) ( ) 王建军.
中考阅读 复习备考交流 西安铁一中分校 向连吾.
从2010年江苏高考数学试题说开去 江苏省西亭高级中学 瞿国华.
连乘、乘加、乘减和把整数乘法运算定律推广到小数
中央广播电视大学开放教育 成本会计(补修)期末复习
第十章 群与环 主要内容 群的定义与性质 子群与群的陪集分解 循环群与置换群.
4a052028陳邑銘 4a055020吳俊諺4a0j2040侯娜惠 4a13a004吳尚霖 4a2e0041林穗琪 4a2g0029謝渝棠
人教版义务教育课程标准实验教科书 小学数学四年级上册第七单元《数学广角》 合理安排时间 248.
第三单元 发展社会主义民主政治.
3.3 资源的跨区域调配 ——以南水北调为例 铜山中学 李启强.
成才之路 · 语文 人教版 · 必修2 路漫漫其修远兮 吾将上下而求索.
卓越教師教學細節 香港初中及小學數學奧林匹克代表隊總教練 行政長官數學卓越教學個人獎唯一獲獎教師 行政長官卓越教學獎教師協會副主席 香港數理教育學會主席 港島民生書院訓導主任.
第四章 时间序列的分析 本章教学目的:①了解从数量方面研究社会经济现象发展变化过程和发展趋势是统计分析的一种重要方法;②掌握时间数列编制的基本要求;③理解和掌握水平速度两方面指标的计算及运用④理解和掌握长期趋势分析和预测的方法。 本章教学重点:现象发展的水平指标和速度指标。 本章教学难点:现象变动的趋势分析。
2014高考 地理专题复习 行星地球.
邵阳文化.
八桥初中九年级思想品德课复习导学案之五---
离散数学 Discrete mathematics
群組未知 水蜜桃每4個裝一盒,爸爸買了5盒,一共買了幾個水蜜桃? 爸爸想把20個水蜜桃平分給他的5個朋友,每個朋友可以得到幾個水蜜桃?
小学数学知识讲座 应用题.
勾股定理 说课人:钱丹.
兴隆第三小学 崔桂云 聂秀芹 赵丽君 艾艳会.
甲型H1N1流感预防常识 北仑区疾病预防控制中心.
第四节 辞格(一) 辞格及其特征 辞格是指在使用语言过程中逐步固定下来的在一定语境中能够产生积极表达效果的语言运用形式。
第 二 章 逻 辑 代 数 基 础.
例1.设 求AB..
参考书 近世代数 吴品三 人民教育出版社 代数结构与组合数学 曲婉玲 北京大学出版社 近世代数及其应用 阮传概 孙伟 北京邮电大学出版社.
1. 苗冬青 实验室:软件楼 王小威 BBS ID lengyan: 实验室:软件楼405 3.赵一鸣 BBS: zhym
人教版数学四年级(下) 乘法分配律 单击页面即可演示.
第一章 直角三角形的边角关系 第一节 从梯子的倾斜程度谈起(二).
不查表,求cos( –435°) 的值. 解:cos(–435 ° ) =cos435 °
义务教育课程标准实验教科书九年级下册 将军县——兴国 28.1锐角三角函数(第2课时) 兴国县潋江中学 赖华丹.
从梯子的倾斜程度谈起.
解直角三角形 -锐角三角函数.
向量数乘运算及几何意义.
3.1.3 空间向量的数量积运算.
义务教育课程标准实验教科书 九年级 上册 28.1 锐角三角函数(第4课时) 人民教育出版社.
从梯子的倾斜程度谈起(2) 青大附中 刘海英.
行列式.
第3章 组合逻辑电路.
材料二乙 授課教師:林昆明 老師 (學210 、 分機5302)
课题:已知三角函数值求角 sina tana y P 。 x P’ 。.
初等矩阵 定义:对单位阵进行一次初等变换后得到的 矩阵称为初等矩阵。 三种初等行变换得到的初等矩阵分别为:
教学建议 学习目标 § 6.1 矩阵的概念 § 6.2 矩阵运算 § 6.3 矩阵的初等行变换与矩阵的秩 § 6.4 线性方程组的消元解法
长春理工大学 电工电子实验教学中心 数字电路实验 数字电路实验室.
大綱:整數的加法 整數的減法 蘇奕君 台灣數位學習科技股份有限公司
1.1算法的概念.
线段 射线 直线.
§5.6 平面向量的数量积及运算律 南海中学数学组 周福隽.
第一章-第二节 –有理数的加法(2).
職業學校群科課程綱要規劃原理及修訂重點 報告人:鄭慶民
概率论与数理统计 第1章 随机事件与概率.
遞迴 Recursion.
12.2提公因式法.
解直角三角形复习课 ---解直角三角形的应用.
数列求和 Taojizhi 2019/10/13.
第五单元 简易方程  用字母表示运算定律和计算公式 湖北省武汉市育才小学 万 婕.
Presentation transcript:

南开大学ACM暑期集训之 组合数学 朱毅 2006年8月

主要参考文献 《组合数学》讲义 任课教师:黄连生 清华大学计算机系

内容提要 排列组合 鸽巢原理 递推关系与生成函数 二分图的最大匹配 Polya计数原理的相关数学基础

排列组合

圆排列 6位女士和6位先生围着一张圆桌聚餐,要求安排女士和先生交替就座。问:有多少可能的安排方案。 解. 由于要求安排女士和先生交替就座,因此可以先安排六位女士坐下,两位之间留出一个空位,然后再安排先生就座。安排六位女士坐下(圆排列)的方案数是 (种)

圆排列(续) 由于已经有女士在位,安排先生在六个空位上就座时,就不再是圆排列了,因为原先被看成相同圆排列的六位先生的就座方式所产生的全体人员的圆排列是不同的。故安排先生在六个空位上就座的方案数是 6!=720 于是我们得到满足要求安排方案共计有

全排列生成算法 如果将整数n从『1,2。。。,n』的一个排列中删除,那么结果则是『1,2。。。,n-1』的一个排列。 算法描述: 从『1』开始,将2插入排列中得『1,2』的排列,以此类推,直至得到『1,2。。。,n』的排列

『1,2,3』全排列生成算法示例 1 2 2 1 ========= 1 2 3 1 3 2 3 1 2 ---------- 2 1 3 1 2 2 1 ========= 1 2 3 1 3 2 3 1 2 ---------- 2 1 3 2 3 1 3 2 1

STL中生成排列数的函数 #include <algorithm> int A[] = {2, 3, 4, 5, 6, 1}; prev_permutation(A, A+6); 结果:2 3 4 5 1 6 next_permutation(A, A+6); 结果:2 3 4 6 1 5

相关练习 NKOJ 1038 NKOJ 1108

鸽巢原理

鸽巢原理之一 鸽巢原理是组合数学中最简单也是最基本 的原理,也叫抽屉原理。即 “若有n个鸽子巢,n+1个鸽子,则至少有  鸽巢原理之一 鸽巢原理是组合数学中最简单也是最基本 的原理,也叫抽屉原理。即 “若有n个鸽子巢,n+1个鸽子,则至少有 一个巢内有至少有两个鸽子。” 例1 367人中至少有2人的生日相同。 例2 10双手套中任取11只,其中至少有 两只是完整配对的。 例3 参加一会议的人中至少有2人认识 的别的参加者的人数相等。

鸽巢原理之二 鸽巢原理二 m1 , m2 , … , mn都是正整数, 并有m1 + m2 +… +mn-n + 1个鸽子住进n个  鸽巢原理之二 鸽巢原理二 m1 , m2 , … , mn都是正整数, 并有m1 + m2 +… +mn-n + 1个鸽子住进n个 鸽巢,则至少对某个 i 有第 i 个巢中至少有 mi个鸽子,i = 1 , 2 , … , n. 上一小节的鸽巢原理一是这一原理的特殊 情况,即m1 = m2 = … = mn= 2,   m1 + m2 +… +mn-n + 1 = n + 1 如若不然,则对任一 i, 都有第 i 个巢中的 鸽子数≤mi-1 则

鸽巢原理之二 鸽子总数≤ m1 + m2 +… +mn-n , 与假设相矛盾. 推论1 m只鸽子进n个巢,至少有一个巢 里有「- |只鸽子.  鸽巢原理之二 鸽子总数≤ m1 + m2 +… +mn-n , 与假设相矛盾. 推论1 m只鸽子进n个巢,至少有一个巢 里有「- |只鸽子. m n 推论2 n(m-1) + 1只鸽子进n个巢,至少 有一个巢内至少有m只鸽子. 推论3 若m1 , m2 , … , mn是正整数,且 > r-1,则 m1,… , mn至少有一个 不小于r m1 + … +mn n

递归关系和生成函数

母函数 定义:对于序列 构造一函数: 称函数G(x)是序列 的母函数

递推关系 利用递推关系进行计数这个方法在算法分析中经常用到,举例说明如下: 例一.Hanoi问题:这是个组合数学中的著名问题。N个圆盘依其半径大小,从下而上套在A柱上,如下图示。每次只允许取一个移到柱B或C上,而且不允许大盘放在小盘上方。若要求把柱A上的n个盘移到C柱上请设计一种方法来,并估计要移动几个盘次。现在只有A、B、C三根柱子可用。

递推关系 Hanoi问题是个典型的问题,第一步要设计算法,进而估计它的复杂性,集估计工作量。 算法: N=2时 第二步把下面的一个圆盘移到C上                       第一步先把最上面的一个圆盘套在B上 最后把B上的圆盘移到C上                       到此转移完毕 A B C

递推关系 对于一般n个圆盘的问题, 先把上面的n-1个圆盘经过C转移到B。 第二步把A下面一个圆盘移到C上 最后再把B上的n-1个圆盘经过A转移到C上 A B C

递推关系 上述算法是递归的运用。n=2时已给出算法;n=3时,第一步便利用算法把上面两个盘移到B上,第二步再把第三个圆盘转移到柱C上;最后把柱B上两个圆盘转移到柱C上。N=4,5,…以此类推。

递推关系 算法分析:令h(n)表示n个圆盘所需要的转移盘次。根据算法先把前面n-1个盘子转移到B上;然后把第n个盘子转到C上;最后再一次将B上的n-1个盘子转移到C上。 n=2时,算法是对的,因此,n=3是算法是对的。以此类推。于是有

递推关系 算法复杂度为: H(x)是序列 的母函数。给定了序列,对应的母函数也确定了。反过来也一样,求得了母函数,对应的序列也就可得而知了。当然,利用递推关系(2-2-1)式也可以依次求得 ,这样的连锁反应关系,叫做递推关系。

递推关系 下面介绍如何从(2-2-1)式求得母函数H(x)的一种形式算法。所谓形式算法说的是假定这些幂级数在作四则运算时,一如有限项的代数式一样。

递推关系 根据(2-2-1), 或利用递推关系(2-2-1)有

递推关系 上式左端为: 右端第一项为: 右端第二项为:

递推关系 整理得 这两种做法得到的结果是一样的。即:

递推关系 如何从母函数得到序列 ?下面介绍一种化为部分分数的算法。 令

递推关系 由上式可得: 即:

递推关系 因为:

递推关系 例2. 求n位十进制数中出现偶数个5的数的个数。 先从分析n位十进制数出现偶数个5的数的结构入手 是n-1位十进制数,若含有偶数个5,则 取5以外的0,1,2,3,4,6,7,8,9九个数中的一个,若 只有奇数个5,则取 ,使 成为出现偶数个5的十进制数。

递推关系 解法1: 令 位十进制数中出现偶数个5的数的个数,  位十进制数中出现奇数个5的数 的个数。 故有:

递推关系 (2-2-2)式中的 表达了含有偶数个5的n位十进制数的两个组成部分。  表达由含有偶数个5的n-1位十进制数  ,令 取5以外的0,1,2,3,4,6,7,8,9九个数中的一个数构成的。 项表示当 是含有奇数个5的n-1位十进制数,令 而得 是含偶数个5的n位十进制数。 也有类似解释。

递推关系 (2-2-2)是关于序列 和 的连立关系。 设序列 的母函数为 ,序列 的母函数为 。 即:

递推关系 承前页:

递推关系 又: 故得关于母函数 和 得连立方程组:

递推关系

递推关系

递推关系 解法二: n-1位的十进制数的全体共 从中去掉含有偶数个5的数,余下的便是n-1位中含有奇数个5的数。故有:

递推关系 令

递推关系

母函数和递推关系应用举例 例6:设有n条封闭的曲线,两两相交于两点,任意三条封闭曲线不相交于一点。求这样的n条曲线把平面分割成几个部分? 曲线所分割成的域的数目为 ,其中 条封闭曲线 所分割成的域的数目为 图 2-8-3

母函数和递推关系应用举例 第n条封闭曲线和这些曲线相交于 个点,这 个点把第n条封闭曲线截成 条弧,每条弧把 个域中的每个域一分为二。故新增加的域数为 利用递推关系 得

母函数和递推关系应用举例 设

母函数和递推关系应用举例 另解:利用欧拉公式 点数+域数-边数=2 点数= , 边数= 点数 域数=

相关练习 NKOJ 1046 NKOJ 1052

二分图的最大匹配

相关概念 二分图是这样一种图:图被分成两个顶点集M和N,在同一个集合中的顶点不存在边,只有不在同一集合的顶点之间才存在边, 二分图匹配是指求出一组边,其中顶点分别在两个集合中,并且没有两个边有相同的依附顶点,也就是说一个顶点最多只属于一条边。 最大匹配就是找出这样的最大边数的一组边。

二分图及其最大匹配示意

二分图最大匹配算法(匈牙利算法) 令g=(x,*,y)是一个二分图,其中x={x1,x2...},y={y1,y2,....}.令m为g中的任意匹配。 1。将x的所有不与m的边关联的顶点表上¥,并称所有的顶点为未扫描的。转到2。 2。如果在上一步没有新的标记加到x的顶点上,则停,否则 ,转3 3。当存在x被标记但未被扫描的顶点时,选择一个被标记但未被扫描的x的顶点,比如xi,用(xi)标 记y 的所有顶点,这些顶点被不属于m且尚未标记的边连到xi。  现在顶点xi 是被扫描的。如果不存在被标记但未被扫描的顶点,转4。 4。如果在步骤3没有新的标记被标记到y的顶点上,则停,否则转5。 5。当存在y被标记但未被扫描的顶点时。选择y的一个被标记但未被扫描的顶点,比如yj, 用(yj)标记x的顶点,这些顶点被属于m且尚未标记的边连到yj。现在,顶点yj是被扫描的。 如果不存在被标记但未被扫描的顶点则转道2。 由于每一个顶点最多被标记一次且由于每一个顶点最多被扫描一次,本匹配算法在有限步内终止。

相关练习 NKOJ 1060 NKOJ 1070

Polya计数原理的相关数学基础

群的概念 (1)群 定义 给定集合G和G上的二元运算 · ,满足下列条件称为群。 (a)封闭性:若a,b∈G,则存在c∈G,使得a·b=c. (b)结合律成立:任意a,b,c∈G,有(a·b)·c=a·(b·c). (c)有单位元:存在e∈G,任意a∈G.a·e=e·a=a. (d)有逆元:任意a∈G,存在b∈G, a·b=b·a=e. b=a. 由于结合律成立,(a·b)·c=a·(b·c)可记做a·b·c. 例 证明对于a1,a2,…,an的乘积,结合律成立. a·a·…·a=a (共n个a相乘). -1 n

群的概念 (2) 简单例子 例 G={1,-1}在普通乘法下是群。 例 G={0,1,2,…,n-1}在mod n的加法下是群. 例 二维欧氏空间所有刚体旋转T={Ta}构成群。其中Ta = cosa sina -sina cosa TbTa= cosb sinb cosa sina -sinb cosb -sina cosa

群的概念 = cosacosb-sinasinb sinacosb+cosasinb -sinacosb-cosasinb cosacosb-sinasinb = cos(a+b) sin(a+b) =Ta+b -sin(a+b) cos(a+b) 从而有(a)封闭性; (b)结合律成立:(TαTβ)Tγ = Tα(TβTγ) = TαTβTγ ; (c)有单位元: T0 = ; (d)有逆元:Ta =T-a = cosa -sina sina cosa 1 0 0 1

群的概念 前两例群元素的个数是有限的,所以是有限群;后一例群元素的个数是无限的,所以是无限群。 有限群G的元素个数叫做群的阶,记做|G|。 若群G的任意二元素a,b恒满足ab=ba。责称G为交换群,或Abel群。 设G是群,H是G的子集,若H在G原有的运算之下也是一个群,则称为G的一个子群。

群的概念 基本性质 单位元唯一 e1e2=e2=e1 消去律成立 ab=ac → b=c, ba=ca → b=c 每个元的逆元唯一 aa =a a = e, ab = ba = e , aa = ab , a = b (d)(ab….c) =c …b a . c …b a ab…c = e -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1

群的概念 (e) G有限,a∈G,则存在最小正整数r,使得a = e.且a = a . 证 设|G|=g,则a,a ,…,a ,a ∈G,由鸽巢原理其中必有相同项。设a =a ,1≤m<l≤g+1, e=a ,1≤l-m≤g,令l-m=r.则有a =a a=e.即a =a .既然有正整数r使得a =e,其中必有最小者,不妨仍设为r. r称为a的阶。易见 H={a,a ,…a ,a =e}在原有运算下也是一个群。 r -1 r-1 g g+1 2 m l l-m r r-1 -1 r-1 r 2 r-1 r

置换群 置换群是最重要的有限群,所有的有限群都可以用之表示。 置换:[1,n]到自身的1-1变换。n阶置换。[1,n]目标集。( ), a1a2…an是[1,n]中元的一个排列。n阶置换共有n!个,同一置换用这样的表示可有n!个表示法。例如 p1=( )=( ),n阶置换又可看作[1,n]上的一元运算,一元函数。 1 2 … n a1 a2 … an 1 2 3 4 3 1 2 4 3 1 4 2 2 3 4 1

置换群 置换乘法 P1=( ),P2=( ) P1P2=( )( )=( ) 注意:既然先做P1的置换,再做P2的置换就规定了若作为运算符或函数符应是后置的。这与一般习惯的前置不一样。 一般而言,对[1,n]上的n阶置换,i[1,n]要写成(i)P1P2,而不是P1P2(i). (i)P有时写成i 在上面例中,1→3→2,2→1→4,3→2→3,4→4→1.也可写(1)P1P2=2,(2)P1P2=4,(3)P1P2=3,(4)P1P2=1. P2P1=( )( )=(   )≠P1P2. 1 2 3 4 3 1 2 4 1 2 3 4 4 3 2 1 1 2 3 4 3 1 2 4 3 1 2 4 2 4 3 1 1 2 3 4 2 4 3 1 P2 P1 P2 P1 P2 P1 P2 P1 1 2 3 4 4 3 2 1 4 3 2 1 4 2 1 3 1 2 3 4 4 2 3 1

置换群 (1)置换群 [1,n]上的所有n阶置换在上面的乘法定义下是一个群。 (a)封闭性 ( )( )=( ) (b)可结合性 (( )( ))( ) =( )=( )(( )( )) (c) 有单位元 e=( ) (d) ( ) =( ) a1 a2 … an b1 b2 … bn 1 2 … n b1 b2 … bn 1 2 … n a1 a2 … an a1 a2 … an b1 b2 … bn 1 2 … n a1 a2 … an b1 b2 … bn c1 c2 … cn 1 2 … n a1 a2 … an a1 a2 … an b1 b2 … bn 1 2 … n c1 c2 … cn b1 b2 … bn c1 c2 … cn 1 2 … n -1 1 2 … n a1 a2 … an a1 a2 … an 1 2 … n

置换群 1 2 3 (2)例 等边三角形的运动群。 绕中心转动120,不动, 绕对称轴翻转。 P1=( ),P2=( ),P3=( ),P4=( ), P5=( ),P6=( )。 [1,n]上的所有置换(共n!个)构成一个群,称为对称群,记做Sn. 注意:一般说[1,n]上的一个置换群,不一定是指Sn.但一定是Sn的某一个子群。 1 2 3 1 2 3 2 3 1 1 2 3 3 1 2 1 2 3 1 3 2 1 2 3 3 2 1 1 2 3 2 1 3

Polya计数原理 参见清华大学相关学习资料(在公共邮箱中) 相关练习: 1135: Let it Bead

组合数学相关练习 1038: Lotto 1046: 正整数划分问题 1052: 圆的重叠问题 1060: Tian Ji -- The Horse Racing 1070: 信与信封问题 1108: Binomial Showdown 1135: Let it Bead