信息学竞赛中问题求解题常见考查题型分析(6)

2019-06-05 00:09

Catalan数首先是由Euler在精确计算对凸n边形的不同的对角三角形剖分的个数问题时得到的,它经常出现在组合计数问题中。

问题的提出:在一个凸n边形中,通过不相交于n边形内部的对角线,把n边形拆分成若干三角形,不同的拆分数目用hn表之,hn即为Catalan数。例如五边形有如下五种拆分方案(图6-4),故h5=5。求对于一个任意的凸n边形相应的hn。

图3

解:设Cn表示凸n边形的拆分方案总数。由题目中的要求可知一个凸n边形的任意一条边都必然是一个三角形的一条边,边P1 Pn也不例外,再根据“不在同一直线上的三点可以确定一个三角形”,只要在P2,P3,??,Pn-1点中找一个点Pk(1

其中区域③必定是一个三角形,区域①是一个凸k边

形,区域②是一个凸n-k+1边形,区域①的拆分方案P2 P3

总数是Ck,区域②的拆分方案数为Cn-k+1,故包含△P1PkPn

的n 边形的拆分方案数为CkCn-k+1种,而Pk可以是P2,Pk P1 P3,??,Pn-1种任一点,根据加法原理,凸n边形的③

Pn

② Pn--1

三角拆分方案总数为?CiCn?i?1,同时考虑到计算的方

i?2n?1图4

便,约定边界条件C2=1。

小结:通过上面对四种典型的递推关系建立过程的探讨,可知对待递推

类的题目,要具体情况具体分析,通过找到某状态与其前面状态的联系,建立相应的递推关系。

例题精讲

例1、在一个正六边形的六个区域中的每一个 区域染上红、黄、蓝、紫四种颜色之一,要求相邻的 两个区域染色不相同,则有多少种不同的染色方法?

FE【分析】本问题属于排列组合方面的问题。

用心 爱心 专心

ADBC

EE、、CC、、AA

思路一:利用排列组合的知识进行求解,由于图形的特殊性,可以按

A、C、E染色情况进行分类。

思路二:将该图形抽象出来,形成一般的问题:“将圆分为n(n?2)个扇形,每个扇形区域染上红、黄、蓝、紫四种颜色之一,要求相邻的扇形区域染色不相同,问有多少种染色方法?”先求通项an或递推关系,再求a6。

【解答】解法一:按A、C、E染色情况进行分类:

(1)若A、C、E染一种色,则此时共有4?3?3?3?108种方法; (2)若A、C、E染三种色,则此时共有P43?2?2?2?192种方法; (3)若

2染二种色,则此时共有P42?C3?3?2?2?432种。

故总计共有108+192+432=732种方法。

解法二:将问题抽象成一般问题:“将圆分为n(n?2)个扇形,每个扇形区域染上红、黄、蓝、紫四种颜色之一,要求相邻的扇形区域染色不相同,记染色方法总数为an,求a6”。

?an?an?1?4?3n?1(n?3)由已知条件容易建立递推关系?。

a?12?2由该递推关系易求出a3?24,a4?84,a5?240,a6?732。

【评注】(1)解法一中若不按A、C、E染色情况进行分类可能比较复杂,

并且当染二种色时,计算染法数比较容易出错;

(2)解法二中关键之处在于建立递推式子,但递推式子建立后计算比

较方便。

例2有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行。试求出蜜蜂从蜂房a爬到蜂房b的可能路线数。

??

3 4

5 6

7 8

9 11 13 10 12 14

??

图6

解:这是一道很典型的Fibonacci数列类题目,其中的递推关系很明显。由于“蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行”的限制,决定了蜜蜂到b点的路径只能是从b-1点或b-2点到达的,故fn=fn-1+fn-2 (a+2?n?b),边界条件fa=1,fa+1=1。

附程序:

用心 爱心 专心

program Pro_1;{蜂巢问题,最大范围:目标点与出发点之差不超过40000} type

Tarr=array[1..10000] of byte; Tnum=array[1..4] of ^Tarr; Tlen=array[1..4] of word; var

start,finish:longint; {出发点和目标点} num:Tnum;

{num[1]?num[3]分别保存到达相邻三个蜂巢的路径数;num[4]是用于交换的临时变量}

len:Tlen;

{len[i]表示num[i]的长度}

procedure DataInit;{数据初始化} var

i:integer; begin

for i:=1 to 3 do begin

new(num[i]);

fillchar(num[i]^,sizeof(num[i]^),0); num[i]^[1]:=1; len[i]:=1; end; end;

procedure Add;{高精度加法运算:num[3]=num[1]+num[2]} var

i,carry:word;{carry是进位数字} begin

carry:=0;

for i:=1 to len[2] do begin

carry:=carry+num[2]^[i]+num[1]^[i]; num[3]^[i]:=carry mod 10; carry:=carry div 10; end;

len[3]:=i;

if carry>0 then begin

inc(len[3]);

num[3]^[i+1]:=carry; end; end;

用心 爱心 专心

procedure Work;{求从出发点到目标点的路径总数} var

i:longint; begin

num[1]^[1]:=1; num[2]^[1]:=1; for i:=start+2 to finish do begin

Add;{高精度加法运算:num[3]=num[1]+num[2]} num[4]:=num[1]; num[1]:=num[2]; num[2]:=num[3]; num[3]:=num[4]; len[4]:=len[1];

move(len[2],len[1],6); end; end;

procedure Out;{输出结果} var

i:integer; begin

for i:=len[2] downto 1 do write(num[2]^[i]); writeln; end;

begin

DataInit; {数据初始化} write('Input: '); readln(start,finish);

Work; {求从出发点到目标点的路径总数} Out; {输出结果} end.

练习:

第1题(5分),有5本不同的数学书分给5个男同学,有4本不同的英

语书分给4个女同学,将全部书收回来后再从新发给他们,与原方案都不相同的方案有________种。

答案:

5!*4!+D(5)*D(4)=1140480

其中:D(n)=(n-1)*(D(n-1)+D(n-2)) (n > 2) D(1)=0 D(2)=1

用心 爱心 专心

第2题(5分),在m*n的棋盘上,每个方格(单位正方形,即边长为1

的正方形)的顶点称为格点。以格点为顶点的多边形称为格点多边形。若设格点凸N边形面积的最小值为gn,格点凸N边形内部(非顶点的)格点的个数的最小值为fn,则gn和fn的关系式为gn=___________。

答案:

Gn= fn+N/2-1 ( N >= 3 )

第3题(8分),有位小同学喜欢在方阵中填数字,规则是按下图示例从

右上角开始,按斜线填数字,碰到边界就重新。显然,数字1在坐标(1,5)位置,数字25在坐标(5,1)位置。后来这位小朋友想知道,对于N阶的方阵,随机取一个位置(x,y),并规定x≤y,问这个位置上应该填的数字是多少?5阶方阵的

示例图如下:

11 7 4 2 1 16 12 8 5 3 20 17 13 9 6 23 21 18 14 10 25 24 22 19 15 答案:

(N-y+x)*(N-y+x-1)/2+x

第4题(5分),把三角形各边分成n等分,过每一分点分别做各边的平

行线,得到一些由三角形的边和这些平行线所组成的平行四边形。n为已知整数,能组成_______个平行四边形。

答案: 3*C(n+2,4)

第5题(5分),由a,b,c3个不同的数字组成一个N位数,要求不出

现两个a相邻,也不出现两个b相邻,这样的N位数的个数为AN,用AN-1和AN-2表示AN的关系式为:AN=_______________。

答案:

AN= 2*AN-1+AN-2

用心 爱心 专心

作者单位:江苏省洪泽县第二中学 姓 名:吴斌

通讯地址:江苏省洪泽县第二中学电教中心组 邮编: 223100 电 话:13912054539 QQ:372836808

邮件地址:HZEZDJZX@126.COM

用心 爱心 专心


信息学竞赛中问题求解题常见考查题型分析(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:全国2011年1月高等教育精神障碍护理学自考试题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: