组合数学(3)容斥鸽巢

组合数学(3)容斥鸽巢

ID:42667210

大小:179.50 KB

页数:4页

时间:2019-09-19

组合数学(3)容斥鸽巢_第1页
组合数学(3)容斥鸽巢_第2页
组合数学(3)容斥鸽巢_第3页
组合数学(3)容斥鸽巢_第4页
资源描述:

《组合数学(3)容斥鸽巢》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、ACM暑期集训组合数学(3)容斥原理鸽巢原理1容斥原理2错位排列3有限制的排列部分错位排列:n排列恰有k个位置正确的个数为C(n,k)*Dn-k4鸽巢原理例:有一样大小的红色珠子5个,蓝色珠子3个,黄色珠子4个混放在箱子里,取出多少个珠子能保证至少有3个颜色相同的?2*3+1=7取出多少个珠子能保证至少每种颜色都有1个?5+4+1=105鸽巢原理的推广6Ramsey数(瑞姆赛数)推广为一般问题:给定任意正整数a和b,存在一个最小整数R(a,b),使得R(a,b)个人中,或者有a个人互相认识,或者有b个人

2、互不认识。称R(a,b)为Ramsey数。上界估计程序Programramseyusescrt;Constmaxn=50;Typertype=array[1..maxn,1..maxn]ofinteger;Varr:rtype;{ramsey数组}a,b:integer;{ramsey数的两个参数}Procedureinit;{输入ramsey数的两个参数}Beginclrscr;repeatwrite(‘a=’);readln(a);until(a>1)and(a<=maxn);repeatwrite

3、(‘b=’);readln(b);until(b>1)and(b<=maxn);end;ProceduremainvarI,j:integer;Beginfori:=2toador[I,2]:=I;{建立递归边界}fori:=2tobdor[2,i]:=I;fori:=3toadoforj:=3tobdoif(odd(r[i-1,j])or(odd(r[I,j-1]))thenr[I,j]:=r[i-1,j]+r[I,j-1]elser[I,j]:=r[i-1,j]+r[I,j-1]-1;writeln

4、(‘R(’,a,’,’,b,’)=‘,r[a,b]);end;Begininit;{输入参数a和b}main;{计算和输出ramsey数r(a,b)}End;程序只能估计上界,一些运行结果与精确值有一定误差。要准确计算Ramsey数,只要将程序返回的整数值逐一递减。直至递减后的n值所对应的kn图中出现了不含红色完全子图kp或蓝色完全子图kg的情形,则n+1就是精确的RAMSEY数了。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。