1、书书书$!目!录总序 !0前言 !00!计数问题 !0#!存在问题 !#$!图论问题 !“:!灵活多样的问题 !20习题 !1#解答 !11书书书!计数问题!我赴圣地爱弗西 “!“#$#$途遇妇女数有七 $每人七袋手中提 $一袋七猫数整齐 $一猫七崽紧相依!妇与布袋猫与崽 $几何 “多少 #同时赴圣地 %&这是一首古老的英国童谣!假设它说的是事实的话 !我们很怀疑每位妇女手中能提那么多的猫咪 “#不难算出!妇!女!%!名布!袋!%&“!(!个猫!%)“ )只崽!%“&*+只!总!数!&,*有很多问题与这首童谣类似!例如 $一个军有三个师 #一个师有三个旅 #一个旅有三个团 #一个团有三个营 #
2、一个营有三个连 #一个连有三个排 #一个排有三个班 #一个军有多少个班 !显然 #答案是“!)#)#)#)#)#)#)“)%“&+,%!即使问题中出现的数不一定全部相同 !全是%或全是)“#但计算的方法也是一样的 $采用乘法!下面的例+便是如此!例“! #从甲地到乙地有三条路 #从乙地到丙地有四条路 !如图+-+“#问从甲地到乙地再到丙地有多少种不同的走法 !图 +-+走法共有)#“+&种!我们可以把这+&种走法全部列举出来 #即!$#!%#!!#“$#“%#““#$#%#!其中!$表示先经路!到乙 #再经路$到丙!例+与下面的问题实质上是一样的 $%如果一棵树有三个枝 #一个枝有
3、四朵花 #那么一棵树有几朵花 !&从这些简单的问题可以总结出一个重要的原理 #即乘法原理!如果做第一件事有!种方法 !第一件事做完后做第二件事有“种方法 !第一 “二件事做完后做第三件事有#种方法 !#$那么先做第一件事 !再做第二件事 !然后再做第三件#!事 !#!就有(#)#*#种方法$这个原理看来简单 #却极为重要 #有着广泛的应用!例“! #一项比赛有.名运动员参加 #要定出第一名 第二名 第三名 #有多少种不同的结果 !首先选第一名 #有.种可能 $每位运动员都有可能当第一名!第一名选好后再选第二名 #有/种可能!第一 二名选好后再选第三名 #有种可能!因此 !根据乘法原理 “#选出
4、前三名有.#/#“+&*种不同的结果!用完全同样的推理 #可以知道从*个不同的元素中选出+个元素排成一列 #不同的排列数为*#!*,+“#!*,&“#(#!*,+-+“!选排在第一位的有*种方法 #再选排在第二位的有*0+种方法 #(#最后选排在第+位的有*0+1+种方法 “!如果用2+*来表示从*个不同的元素中选出+个元素的排列数 #就有公式$%#$#(!%$#(“%#$#(%)!%$如果+“*#就得到*个元素的全排列公式 !即将*个元素排成一列的不同排列的种数 “$#$即$#%$#(!%$#(“%#“!&$%!*“ !读做*的阶乘 “就是*#!*,+“#!*,&“#(#+的
5、缩写!为了方便起见 #规定&!$上面的排列公式也可改写成$%#&$#(%&$例“! #五个人排成一列照相 #有多少种不同的排法 !答案是!/“/#)#+“+&*!例“! #$用+#/#.#,这五个数字组成三位数 #如果 $!+“三位数中数字不重复出现 )!&“数字可以重复出现!可以组成多少种不同的三位数 !第一个小问题的答案是2)/“/#)“.*!第二个小问题的答案是/#/#/“+&/!理由与本节开始的童谣相同 $第一位数字有/种选法 #第二位数字也有/种选法 !允许第一位数字重复出现 “#第三位数字也有/种选法 #因而根据乘法原理 #共有/3/3/种选法!更一般地 #从*个元素中
6、选出+个排成一列 #如果每个元素都可以重复选取 #那么排列数为*#*#(#$% &*+个“*+!这是允许重复的排列公式!不过 #重要的不是死背公式 #而是如何去运用乘法原理 !例的两个问题都可以用乘法原理解决 #请读者体会这两个问题的差别 “!例“! #%用数字*#+#/可以组成多少个没有重复数字的三位数 !先考虑百位数字 #有种选法 !*不能在首位 “#再考虑十位数字与个位数字 #可知答案是#)!或#2&“,!例“! #&将字母.#.#.#/#0#1#2排成一列 #有多少种不同的排法 !如果是%个不同的字母.+#..)#/#0#1#2#那么排成一列的排法 !全排列 “是%“%#.#/
7、#)#+!现在的问题是%个字母中有三个是相同的.!为了解决这个问题 #我们运用一个非常重要的思想 $对应!对%个不同的字母.+#..)#/#0#1#2的一种排列 #有.#.#.#/#0#1#2的一种排列与它对应 #对应的方法是略去.+#..)的下标 #把它们变成同一个字母.!例如排列.+/.&012. () ./.012.!(这里 表示对应 “!显然 #.+#..)#/#0#1#2的每一种排列都有一个确定的.#.#.#/#0#1#2的排列与它对应!但这个对应并不是一(!一对应!例如与.+/.)012..+/.&012.)#.&/.+012.)#.&/.)012.+#.)/.
8、+012..)/.&012.+对应的都是同一个 $./.012.!事实上 #.#.#.#/#0#1#2的每一个排列对应于.+#..)#/#0#1#2中.个排列 #这.!“)“种排列是将下标+#)添到三个 !在不同位置的 “.上的不同的添法的个数!这样看来 #.#.#.#/#0#1#2的排列数应当是%个字母.+#..)#/#0#1#2的全排列的+.#即%“)“%#.#/#“,*种!例.所讨论的问题称为有重复元素的全排列!运用对应的思想可以 !和例.同样地 “推出 $将(个.#)个/#*个0#(排成一列 #不同的排法有!(-)-*-(“(“)“*“(种!例“! #从.名运动员中选出
9、三名组成一个代表团 #有多少种不同的选法 !这一题与例&是不相同的!例&中选出的三名分别为第一名 第二名 第三名 #是一个排列问题!同样的三个人 #但名次排列的顺次不同算作不同的选法!在本例中 #选出的是三个人的组)!合 #不考虑他们的排列!这种问题称为组合问题!这两种问题也是有联系的!每个排列 #如果不考虑顺序 !名次 “#就是一个组合 #所以每个排列有一个组合与它相对应!另一方面 #每个由三个人组成的组合 #如果将这三个人分别排为第一名 第二名 第三名 #就得到一个排列!由于这三个人排名次的方法有)“.种#所以每个组合对应于)“ 个排列!这样 #从.名运动员中选出三名的组合数是选出三名的排
10、列数的+.#即+.#.#/#“&*!一般地 #将*个元素中选出+个的组合数记为4+*#则根据上面的推理有*%#&!%&$%#&%&$#(%$#(!%#$#(%)!%$%(!%#!$组合数当然是整数 #所以我们得到一个 %副产品 &$任意的%个连续整数的乘积被前%个正整数的乘积整除$例“! #(集合3“*+#(#*+有多少个子集 ! !空集也算作3的子集 “这个问题可以用两种方法来处理!第一种方法是 $考虑集合3有多少个+元子集 #多少个&元子集 #(#多少个*元子集!显然 #每个+元子集就是从+#(#*这*个元素中取+个形成的组合 #因此+元子集的个数是4+*!从而3的子集共有
11、+!取+“*#+#(#*“4*-4+*-4&*-(-4*个!其中4*“*“*“*“+#表明空集算作集合3的子集!第二种方法是注意到3的每一个子集都是从3中选取若干个元素组成的 #所以每个子集对应于这*个元素的一种取舍方式!元素+可能被选入 !某个子集 “#也可能未被选入 #即有两种可能!同样元素)#(#*也各有两种可能 $被选入或未被选入!这样从3中选元素来组成子集 #!根据乘法原理 “就有(#$% &*个“&*种方式 #也就是说3的子集有&*个!两种方法所得的结果应当相同!因此 #我们又获得一个 %副产品 &$*)*!#)*“#)#)*#&“#$例“! #)将*个元素
12、+#(#*排在一个圆周上 #有多少种不同的排法 !我们仍然采用对应!将这个问题与*个元素排成一列的全排列联系起来!每一个全排列 #有一个圆周排列与它对应 #方法是将这个全排列的首尾衔接起来 #并且从首经过全部元素到尾的方向是顺时针方向 !以下的问题中 #凡将直线衔接或将圆周剪开时均作这样的约定 #不再一一声明 “!例如,!这个对应不是一一对应!事实上 #每一个圆周排列对应于*个全排列 #因为可以在任意两个元素之间将圆周剪开!例如 #将上面的圆周排列在&+之间剪开得到+)(!*,+“*&在+)之间剪开得到)/(!*,+“*&+等等!于是圆周排列的个数是全排列的+*#即为+*#*“!*,+“!
13、注!我们把当作相同的圆周排列!即只考虑这*个元素的相互次序 #而不问它们在圆周上的哪一个点 !位置 “!如果认为圆周上的*个位置是互不相同的 #那么将*个元素放在这*个位置的放法仍然是*“ !与全排列公式相同 “!&!例“! #*七种颜色 $赤 橙 黄 绿 青 蓝 紫的宝石各一颗 #串成一个项链 #有多少种不同的串法 !答案是+%“%“+!%,+“+.“).*!因为每一种项链对应于两个圆周排列 #这两个圆周排列中 #七种颜色的次序是一样的 #但一个依反时针方向排列 #一个依顺时针方向排列!例如 #对于图+-&的两个不同的圆周排列 #与它们对应的是同一个项链!图 +-&例“! #!*
14、个元素排成一列 #从中取出+个 #并要求这+个元素中没有两个原来是相邻的 #问有多少种选法 !我们把这*个元素顺次记为+#(#*!如果选出的+个元素为!+)“.+ *.& *(*.+!)*“#由于每两个元素不相邻 #!+)“.+ *.&,+*.),&*(*.+ ,!+,+“!)*,!+,+“!将 *.+#.&0+#.)0(#.+0!+0+“+与 *.+#.(#.+对应 #前者是从*0!+0+“个元素+#(#*0!+0+“中取+个的一个组合!反过来 #从*0!+0+“个元素+#(#*0!+0+“中取+个的一个组合!+)“/+ */& *(*/+!)*,!+,+“#也恰好对应于
15、一个符合题意的组合!+)“/+ */&-+*/)-&*(*/+ -!+,+“!)*“#因为这里/+#/&1+#(#/+1!+0+“中每两个的差大于+!于是 #这里的对应是一一对应 #两者的个数相等 #所求的答案是4+*,!+,+“4+*,+-+种!还可以用一种更形象的说法来建立对应 !这是肖刚教授 !当时在华东师大工作 “告诉作者的 “$先将*个元素排好 #所取的+个元素涂上黑色 !每两个黑的互不相邻 “#如图+-)!图 +-)然后 #使黑的 %吃掉 &紧跟它的那个元素 #但最后一个黑的不吃 #得到如图+-所示的结果!图 +-!“!这时元素的总数为*0!+0+“#而涂上黑色的元素表示从*0!+
16、0+“中选出+个的一个组合!反过来 #从*0!+0+“中选出+个的一个组合可以得出一个符合题意的组合!方法是使前+0+个涂黑的元素各 %吐出 &一个元素紧跟着它!这样的对应是一一对应!读者可以发现这与前面所建立的对应是一致的!严毅松在北京一一中学读书时有一种巧妙的解法 $考虑排成一列的*0+1+个房间 #每两个房间用一个 %挡板 &隔开 #共有*0+个挡板!从*0+1+个房间中选出+个的方法显然是4+*0+1+种!对于每一种选法 #我们将选出的+个房间与*0+个挡板都看成 %球 +个房间就是从这*个排成一列的球中选出的+个球 #这+个球每两个不相邻!反过来 #如果从一条直线上的*个球中取出
17、+个两两不相邻的球 #把剩下的球看作 %挡板 取出的+个球就是在 !被挡板隔成的 “*0+1+个房间中选出的+个房间!这样 #从*0+1+个房间中选+个房间的组合与从直线上*个元素 !球 “中选+个!两两不相邻的组合是一一对应的 #所以后者的个数 !即本题的答数 “也是4+*0+1+!例“! #“*个元素+#(#*!依顺时针顺序 “排在圆周上 #现从中取出+个 #这+个元素中没有两个是在圆周上相邻的!问有多少种不同的取法 !这个问题显然与例+有密切的关系!我们将介绍三种解法!第一种解法!将圆周从第一个元素+与第*个元素*之间!#!剪开!这时每一个合乎题意的取法变成例+中的一种取法 #即
18、从排成一列的*个元素中取+个 #这+个元素中没有两个相邻的一种取法!反过来 #例+中的一种取法 #如果没有同时取第一个元素+与最后一个元素*#那么把首尾 !+与*“衔接起来也就得到一个符合本题要求的取法!因此 #这两者是一一对应的!而例+中的一种取法 #如果同时取+与*#那么&与*0+一定都没有取 #在剩下的从)至*0&这*0个排成一列的元素中取出了+0&个 #并且每两个不相邻!所以在例+中同时取+与*的取法应当有4+,&*,!+,&“-+“4+,&*,+,+种 !即在例+的结果中用*0代替*#+0&代替+“!从而例+中 #不同时取+与*的取法有!4+*,+-+,4+,&*,+,+“!*,+-
19、+“+“!*,&+-+“,!*,+,+“!+,&“!*,&+-+“!*,+,+“+“!*,&+-+“,!*,+-+“!*,+“,+!+,+“-“!*,+,+“+“!*,&+-+“#*!*,&+-+“*#!*,+“!*,+“#+“!*,&+“*,+4+*,+!这也就是本题的答案!第二种解法!对每一种合乎题意的取法 #我们将圆周上要取出的+个元素涂黑 #然后将圆周剪开拉成直线 #使最后的一个!%!元素为白!由于这时有*0+个白的元素 #所以每一个合乎题意的取法导出*0+个在直线上的取法!如果合乎题意的取法共$种 #那么将导出 !*0+“$个在直线上的取法!对上述 !*0+“$个取法 #我们将其中每
20、*个对应于同一个 #也就是取消原来的*个元素的标号 #将这些元素当作没有差别的球 #这样每*个取法变为同一种取法 #如图+-/!图 +-/图 +-.这/个不同的取法对应于同一个取法 #如图+-.!于是 #这样对应后 #得到的取法有*0+*$种 #每一种都是从*个排成一列的球中取+个 #并且这+个中每两个互不相邻 #没有在最后的一种取法!现在使每个黑的 %吃掉 &紧跟在它后面的一个元素 #变为从*0+个元素中取+个的组合!因此*,+*$“4+*,+#即答案是$“*,+4+*,+!第三种解法!如果将圆周剪开使黑的元素在最后 #那么由!于黑的元素有+个 #所以可以得到+$个在直线上的取法!取消标号后
21、 #形成+$*种不同的取法!每种取法的最后一个元素为黑 #所以第一个元素与倒数第&个元素 !第*0+个元素 “都是白的 #去掉这三个元素 !第+个 第*0+个与第*个元素 “!剩下的*0)个元素中取+0+个 #每两个不相邻的取法有4+,+*,),!+,+“-+“4+,+*,+,+种 #所以+$*“4+,+*,+,+#即$“*+4+,+*,+,+“*,+4+*,+!注!显然&+)*!即+)*,+“#否则合乎题意的取法是不存在的 #也就是在这时 #取+个元素使每两个都不相邻的取法只有*种!注“!为了方便起见 #通常约定在+*或*为负数时 #4+*“*!注#!通过例+我们顺便证明了*0+4+*0
22、+一定是整数!注$!有编号与无编号的区别在计数问题中是很重要的!例“! #一只小虫沿着方格纸 !如图+-%“上的横线与竖线前进 #从坐标原点爬到点 !)#+“!如果小虫走的是最短的路线 #它有多!(!少种不同的走法 !图 +-%每条最短的路线由)1+条长为+的线组成 #其中+条竖线 #)条横线!因此 #每条 !最短的 “路线恰对应于从)1+个位置中选出+个 !放竖线 “的一个组合 #从而这种路线的种数是4+)1+!例“! #$如果我们与小虫开个玩笑 #在图+-%中擦去从4!*#5“到6!*#51+“!*)#5)+,+“#也就是假设这条 %道路 &被水冲垮 #不能通行!试问这时小虫从原点到点 !
23、)#+“的最短路线有多少条 !在例+)中已经算出最短路线的总数是4+)1+!现在我们来算一下其中有多少条是经过线段46的!从原点7走到4!*#5“的最短路线有45*15条!从6!*#51+“走到 !)#+“的最短路线有4),*),*-+,!5-+“4),*)-+,*,5,+条!因此 #根据乘法原理 #从7到4!*#5“#再经46#最后到!)#+“的最短路线有45*-5#4),*)-+,*,5,+!)!条!因而这时小虫的最短路线有4+)-+,45*-5#4),*)-+,*,5,+条!例“! #%*种不同颜色的球 #每种颜色的球至少有+个并且完全相同 #问从这些球中选出+个组成一组 #可以有多少种
24、不同的选法 !这个问题称为允许重复的组合!它与例后面的允许重复的排列不同 !这里是组合 #与+个球的排列顺序无关 “#也与例%后面所说的组合不同 !这里允许同种颜色的球重复出现 “!我们解决这个问题的方法仍然是对应!第一种解法!我们将例+)中的)改写为*0+#则那里的最短路线有4+*1+0+种 #这也恰好是本题的答案!为了证明这个事实 #我们注意每条最短路线中有+条长为+的竖线 #每条竖线上的下方的端点的横坐标 ,*#+#(#*0+#这+个横坐标 !可能有相同的 “就是从*个元素*#+#(#*0+!*种球 “中取+个的允许重复的一个组合!这样 #每一条最短路线对应于一个从*个元素中取+
25、个的允许重复的组合!对应是一对一的 #因此所求的组合数是4+*1+0+!第二种解法!从*个元素+#(#*!*种球 “中取+个的允许重复的组合!+)“.+ ).& )().+!)*“#我们可以用!+)“.+ *.&-+*.)-&*(*.+-!+,+“!)*-+,+“!+!与它对应!后者是从*1+0+个元素+#(#*1+0+中取+个元素 !不允许重复 “的组合 #这种组合的总数是4+*1+0+!由于对应是一对一的 #所以从*个元素 !*种球 “中选+个的允许重复的组合数是4+*1+0+!与例+的解法颇为相似 “!第三种解法!考虑*间房间 #每两间房间有一个 %挡板 &隔开 #共有*0+个挡
26、板 $!+“8!&“8!)“8(8!*“!对每个允许重复的组合!+)“.+ ).& ).) )().+!)*“# !+“将其中等于+的数 !第一种球 “放入第+个房间 #等于&的数放入第&个房间 #(!由于 !+“中有等号 #可能有些房间中不只放了一个球 #也可能有些房间中没有球!这样 #总有一个形如*8*88*8(8*!&“的排列与 !+“对应!&“是由*0+个挡板 %-&和+个 %*&组成的全排列 #根据例.后面的公式 #!&“的个数为!*,+-+“!*,+“+“4+*-+,+!&“也可以看作是从*1+0+个位置中选出+个放 %*&!其余的放 %+&“#由组合公式导出 !&“的个数为4+*
27、1+0+#这两种算法是一致的!于是 #!+“的个数 #即从*个元素中取+个的允许重复的组合数为4+*1+0+!可与例+的解法比较 “!,!例“! #&求不定方程$+-$&-(-$*“+有多少组非负整数解!对于从*个元素+#(#*中取+个的允许重复的组合!+“#如果其中+出现$+次 #&出现$&次 #(#*出现$*次 #那么这些数出现的总次数$+-$&-(-$*“+# !)“因而有不定方程 !)“的非负整数解 !$+#$(#$*“与 !+“对应!反过来 #对于 !)“的每一组非负整数解 !$+#$(#$*“#我们取$+个+#$&个(#$*个*!这+个数组成一个允许重复的组合 !)
28、“#它与解 !$+#$(#$*“对应!这样 #上述对应是一一对应 #所以 !由例+/“不定方程 !)“的非负整数解的个数是4+*1+0+!小结!计数问题是组合数学的一个重要内容!本节介绍了一些常见的 基本的计数方法 #如排列 全排列 有重复元素的全排列 允许重复的排列 圆周排列 组合 允许重复的组合!特别值得注意的是乘法原理与对应!乘法原理是很多计数方法的基础 #有极广泛的应用!对应将一种计数问题化为另一种计数问题 #灵活 有力!“&!“存在问题下面的例+是脍炙人口的七桥问题!大数学家欧拉 !567#8#+%*%.+%,)“在+%).年解决了这个问题!例“! #帕瑞格尔河从哥尼斯堡 !现名
29、加里宁格勒!大哲学家康德 #大数学家希尔伯特与闵可夫斯基都诞生在这里 “城中穿过 #河中有两个岛4与9#河上有七座桥连结这两个岛及河的两岸6:!图&-+“!图 &-+问 $!+“一个旅行者能否经过每座桥恰好一次 #既无重复也无遗漏 ! !&“能否经过每座桥恰好一次并且最后能够回到原来的出发点 !这类问题称为存在问题!它的答案可能是肯定的 $能 !存在“!一条旅游路线经过每座桥恰好一次 “#也可能是否定的 $不能 !经过每座桥恰好一次的路线是不存在的 “!图 &-&欧拉仔细地考察了这个问题!他先将图&-+变为图&-.:9变为四个顶点 #七座桥变为连结这些顶点的七条边 !七条线 “!这样 #
30、七桥问题就变成了通常所说的一笔画的问题 $能否一笔画出这个图 !每条边都无重复地画到 “! 或能否一笔画出这个图并且最后可以回到原来的出发点 !解决这个问题的关键是奇偶性!如果一个顶点引出奇数条线 #我们称它为奇顶点!否则称为偶顶点!图&-&中 #四个顶点46:9都是奇顶点!欧拉注意到 $如果一个图能够一笔画成 #那么除去首尾两个顶点外 #其余的顶点都是偶顶点 #因为对于这些 %中间点 每有一条 %进入 &它的边 #就有一条紧跟着的边 %离开 &它!于是得到如下的结论 $如果一个图能一笔画成 #它至多有两个奇顶点!图&-&中有四个奇顶点 #因而不能一笔画成!这也就是说经过每座桥恰好一次的路
31、线是不存在的!欧拉抓住了问题的关键 #他的工作简洁优雅 #是组合数学的光辉典范!例“! #在黑板上写三个自然数 #然后擦去一个 #改换成其他两个数的和减+!经过若干次这样的操作 #最后得到三个数 $+%#+(.%#+(,)!原来写的三个数能够是 $“奥数”课外阅读篇单墫老师教你学数学 7 种当读书不只是为了考试你才会真正爱上数学单墫老师娓娓道来与你分享他所理解的数学之美读者对象:初高中学生初高中学生初高中学生初高中学生,数学教师数学教师数学教师数学教师,数学爱好者数学爱好者数学爱好者数学爱好者单墫老师教你学数学 7 种 平面几何中的小花 十个有趣的数学问题 趣味数论 棋盘上的数学 覆盖 组合数
32、学的问题与方法 解析几何的技巧学奥数,这里总有一本适合你自从 2000 年奥数教程中首次在图书中使用 “ 奥数 ” 一词以来,华东师范大学出版社已陆续出版近 200 种 “ 奥数 ” 图书 , 形成多品种 、 多册层次全系列 。“奥数 ”入门篇 从课本到奥数 ( 1-9 年级)、 B 版“奥数 ”智优篇 优等生数学 ( 1-9 年级)“奥数 ”辅导篇 奥数教程 、 学习手册 、 能力测试 (一至高三年级 )“奥数 ”小学顶级篇 高思学校竞赛数学课本 、 高思学校竞赛数学导引 “奥数 ”专题篇 数学奥林匹克小丛书 (小学、初中、高中共 30 种)“奥数 ”题库篇 多功能题典 数学竞赛 (小学、初中、高中共 3 种)“奥数 ”高中预赛篇 高中数学联赛备考手册(预赛试题集锦 ) “奥数 ”联赛冲刺篇 高(初)中数学联赛考前辅导“奥数 ”IMO 终极篇 走向 IMO:数学奥林匹克试题集锦“ 奥数 ” 域外篇 日本小学数学奥林匹克 、 全俄中学生数学奥林匹克