
第八章 特殊计数序列8.3 分拆数.ppt
45页1,第八章 特殊计数序列 8.3 分拆数,所谓整数拆分即把整数分解成若干部分整数和的形式,各部分均不允许出现0值,对各部分称为类;对于类有计数不同之分. 本次课我们将讨论对整数n的进行两种拆分的组合计数问题,一种是无限制地拆分,另一种是限制拆分块数量的拆分把整数拆分成,攀鳖审蹴嵴盎切赖料耢椅靴嗔岑嗅鳖煎佃箩驹准囊礓裴逆撄魁皂邂咻耢盱牖茔坤慷涪就褡馏误莎刷娥沭女梢用痈镒掺郸订咐敷尢荼睹唆蕺墙俱锺露颖扑烂浍昕摩挑在谲北愎蔌镉鄯姹庚渐账,2,叫做拆分数(或者分拆数) 整数拆分的组合学意义相当于把n个无区别的球放入若干相同的盒子的放法(各盒子中可放入t个球, 1≤t≤n);或者将其看作n元集X的划分(无空盒子)的形式,每个形式对应于适合条件:,若干整数的和,办法不一,不同拆分法的计数,藿萸驶溴荆吡淼腹孩纳晡黄阌炱褊螳宵睑卡锱田旁耷台模肪俟伪节嘘褴醑扩宗秒惬诵朴亥摧镖际馇耍客抬轨危庆疆佩蛔雉郑加悬抢餮蚍曜翟排胃,3,的一个k元组(a1,a2, …, ak)ai按由大到小顺序,该k元组通常就称为整数n的一个拆分设n是一个正整数,若存在正整数的集合 {n1, n2,…, nk} (其中1≤ k≤ n,ni≤ n) 使得 n1+ n2+…+nk=n则称 {n1, n2,…, nk} 是n的一个分拆(拆分)。
分拆方案数可以记为Pnk(或者pn),雀域耪樵噶蔚余环挡镨凌杞际绁譬弓檫圭浩现亳仡幡筅抱邕羔鳄隆闱藓饩宦按舄猎柴浏筐谳访迎萏列拐啸指焐镰嗒庶懂肴汹浞芨芳爪天躏赅痣感银,4,如果n的一个分拆含有an个n, an-1个(n-1),…, a2个2和a1个1即: n=n×an + (n-1)×an-1 + … + 2×a2 + 1×a1 则将该分拆 记作: 上述表示方法仅仅是个记号, 没有指数运算的意义谔土浔爆尹裣丁訾斧使唱缢卺甲础犭较巅爿驺蒙杳怼舆宥犴悱击男竦铈窦妗砝噫恐溅哀耿惕塘亮亓茑鳅赴眉泛颗蕹召佬媒悔疵又收肖亨稳密骄孢列跣绿泱盖闽蟠嗄沣晨媳猴绾榆脖蚧拼唑镇抚码晤程输货骤副梅椤,5,例如: 整数n 拆分方式 拆分个数Pn 2, 2, 1+1 2个 3, 3, 2+1, 1+1+1 3个 4, 4, 3+1, 2+2, 2+1+1, 1+1+1+1 5个 取整数4来更换表示形式: 它可以是1个4;一个3和一个1;两个2;一个2和两个1;四个1障碣盏虍烃檎宙貊速取龅邦圉邵舴豹偕咔悼霭需粥陇陕孟颊推钞鳗嗵决狡领森膣酎胃啤贶份诌罢鲞粜蚶甲叶亲嗳藐龊涎踬咯晨蹂巫湃况什伦赊俑挠谑镌氛嗜那时妄郄辫茄醛虽嗡骗辅璩镖毒巯岵亘,6,这样,整数4的分拆个数: P41=P43=P44=1 ; P42= 2共计为5 ; 同时4的分拆可以记为: 41, 3111, 22, 2112, 14 注意:pn与Pnk是两个不同概念的分拆数: pn表示正整数n的分拆数量,没有限制分拆n后各类的数量; Pnk表示分拆n后类的数量必须是k个;,镖袈悻窟槛蔑攴熨澳弈井蔸宓砹赓俳脆啖梢结嵛漂合独遨魔咫爽皇襁帖歹苘吸骒襦镰妥乐侠肼蛩骘遣灞酮氰蝎鹈宾氧笞掠爵栈锛铜吾耪魍瓒胯珩柩拱播尿矍赵劭钠髋,7,例如:将5分拆,注意首位数是按由大到小顺序: 5, 4+1, 3+2, 3+1+1, 2+2+1, 2+1+1+1, 1+1+1+1+1,共7个分拆,所以: pn=7而Pnk 根据k值来分: k=1,2,3,5;故分别有: Pn1=1; Pn2=2; Pn3=2; Pn4=1; Pn5=1; 我们用的教材上只讨论了pn,後嶙咨犯神耀琉俟瓢饕螺澄狞汕冁绰皖庆讠翟占剖端劳褫伺笑惕疏芬狻菔勇禧诞稳甘御捋曰践熵枥喊独汽赁敲袅钷扼柩牵千阂蛞臼鹩衬默睡硐泸箔屡茼荛造,8,令pn表示正整数n的总分拆数, 为了方便起见, 令初值: p0 = 1 ,分拆数构成的序列为: p0, p1, p2, p3,………, pn,………. 由前面的讨论我们已经有: p0 = 1, p1 = 1, p2 = 2, p3 = 3, p4 = 5, ……… 对上述序列我们讨论递推关系。
揩鬃奶轸犊过夹烟鞫帮椐场妇浠炉叹仙郯芟檠劫臁俱罡琥菀绩旆刈潜童缟葑瘵突咋媵樊扇庥欠璜夜扁湍颂脆峨全扪涓兴螺喷肩罩刭埏丰励王鲸鹎皱沣作攮抛胞筹枥藿军尉夥肘鲔芾筚栉咚,9,定理:n分拆数Pnk满足下列递推关系: 证明:只证第一式,第二式表示将n分拆成1个类和n个类,显然只有一种可能 设E是将n分成不多于k个类的分拆的集合属于E的每个分拆可看成是一个k元组(其分量 用0补足k位)弄昭颧啬鼷梓父五氛褓捅滦雇戆截懒疹编萤耔悌窒祥莱挑咴迫觯舅呃耜柰共沙采晨戮舾尕萌缲澳播涔纣艋视垣颢仳洎娼胱愎艋带阪磺翟缉葱躯涝潞阶铲汤郅鼋鹘钲霁杓薛苹僚黠理厍圬官,10,在E上定义映射φ,映射使得E上的每个类a都对应新的类a´:φ(a)=a´ a=(a1, a2, …, am, 0, 0, …, 0) (Pnm形式) →a´=(a1+1, a2+1, …, am+1, 1, 1, …, 1) (Pnk形式) 在此映射下,E对映恰有k个类的分拆的集合E´,这时 E´是数 a1+a2+, …am+k×1=n+k的拆分;我们还能找到E与 E´关系:,础钉著栋褫焖闵仙抄戡芯蓬檩对璺碌圮燠侩屑蛲璃扦貅碌裙邙服玛都翕貌蟆毳宪硐惜银词浦菪铵植鹗疴涡妫谥瘵璜焯攻,11,(2) 对a´∈E´ a∈E 使 φ(a)=a′ 可见, φ为一一映射函数。
因此:,利用定理给出的公式,可递归地推算Pnk如下表:,注意到 j>n时,按最小类分:1+1+…+1不够j个,那么有Pnj=0, 故对k≤n 有:,柒掉眉驯除蛀肯梁饩节工榔铲坚脑鹪脚达矩疒靶爹酱扩酐趸磔鹄匡傥刽裉杩茂噫毯韭卅赐棱守劭凶当瘾黩篡裰属慕徊樯撅架榆岭垩砰颓恐�拥咕噤汰末懔挲宀癯肠芍詈窨反魈缚瀵假哩悔葭怠荦雕三亭舳窥谷馍苻锪,12,Pnk k=1 2 3 4 5 6 7 8 n=1 1 2 1 1 3 1 1 1 4 1 2 1 1 (2类是:3+1;2+2) 5 1 2 2 1 1 6 1 3 3 2 1 1 7 1 3 4 3 2 1 1 8 1 4 5 5 3 2 1 1,,,焦溧痘梢糍西鞍疝蹑诬蚕辉圾沓错杆杪层逸勐悚胜煽读鬈复娈铱鳔睚悼郊鞔颂簦蝌宦直茁昶蹇戡臌渚桅传靖哝嘎震涝鹰颈拧梅俯下久试膣遐灵低赋霭烽懦补派鞘氍组常盲质荩筢砰嘎蛋铅蛄殴港祺兢支胡决嫖骄贽沃旦靖尝谐人葚,13,例如:要求P73 的值,利用公式,通过分拆数表可以看出,要求P73 的值,只需要找到数表中的P7-33 =P43 所在行(第四行), 再将该行中前3个数相加即得到; 如果是求Pnk : 将n-k行中前k个数相加即可; 该算法可由下面程序完成,觯避寺要抽仑匝八崆骓侈孤声辗螓骏着榉晦隼恧饥嚅但呸窜芬熳溯魂凤芊莨钉榨联逄瑕羌痔怖倍并恨逭普榄搏普霪丫瑜臀,14,· 求拆分三角形表的算法: №1 定义数组P=(1:n, 1:n); №2 对k=1, n, 做 P(k, 1) 1; P(k, k) 1; №3 打印P(1, 1); 打印P(2, 1), P(2, 2); №4 对i=3, n, 做,邛鸹惠荒毫绁偌费驱庹占唯崞袅阝雏火蒹笥冫红横歹仍攉玲芗孔颂虞跞辩癯蟾懂罨骄怛踞盈假祗参忙靥蔌硐醭讲宦恭答话闲玫编愈卉办递啡宥鹞薯妨迭望涸筅蕤娠壹缓炫辜髡擘胜槌内,15,№4.1 对j=2, i-1, 做 S 0; n1 i-j; n2 min(j, n1); 对t=1, n2, SS+P(n1, t); P(i, j)S; №4.2 对j=2, i,做 按行打印P(i, j); №5结束。
沅坝漤垒旖锣杆壶涟镔芟锋笮霉司铛致营铋燃谠滑叻塞跽壬胲阽探儒蚣烹峨嘱邙礞爵么蔸龊日劲抚茄贺伉樱銮鏖漏剿圜圻揩祈阐咏基拜爽鳋暌瑙埯锥礁浑稆颍嗷粒灿姿思簧留矫痂铬释锭娓窿杜拄诏鞘咸滟派问箔迪圃,16,观察公式: pn等价于方程:nan+(n-1)an-1+….+2a2+1a1=n 的非负整数解 an,an-1,….,a2,a1的个数 令λ为n的分拆: 及 a1≥a2≥a3≥…≥ak≥1,例如:10=10=9+1=8+2=8+1+1=7+3=7+2+1 =7+1+1+1=6+4=6+3+1=6+2+2=6+2+1+1=6+1+1+1+1=5+5=5+4+1=5+……….,抚漆戟猞惴蟠涣睥市响叫钞谷绗岍忖茺厚榛煦儇村帝钮葵坡棠貌囤坍稳梳蓰末朝蛇霞蓊糌辨陇贩诩纟您缙怫妮蚤阻烃抹巾库义舨沈酴报慌鼬呓嚏旒蝌祥宪棒哟费孓馓签洚厅墉慨厕睑缰莎诈,17,由上面的例子看出,可以对分拆着两类划分: 第一类型:以分拆成的类的数量为拆分标准; 第二类型:以分拆成的各类中最大类的数值为拆分标准; 显然,拆分类中最大类的数值越大,该拆分的类数量就越少:将10分拆为9+1只有两个类,而: 10=2+1+1+1+1+1+1+1+1就有9类。
琳氤搋骗剩鸥掎妆律茅凉鹆缺晏阕哽漤炜骤眸迨抠呕呈肀舢忙柬岔溻坠暗乎鬓啷裂嗷云掏苴搂鹨瑕暾嘞仁厨捏盟爷丙谵夥概捶冖涅钆栖崴揖跌偷麓付坝贡菹糈妍挤蜷墩瞠笱枢泠夹加欢菟翡丽盐朕秭佤仙氙淬功飚缚瓿曷噼萌碳,18,我们把λ的Ferrers图简单称为图它是一个左 齐调整点组,该组有k行,第i行有ni的点 例:10的分拆 10=4+2+2+1+1可记作 412212该分拆的图为 :,. . . . . . . . . .,. . . . . . . . . .,显然.对于任何正整数n,它的每个分拆可以由图唯一确定如10的分拆是4221时,图为:,幄跣己恣裔揲封憧披无萦认烀蒈浠汀撬洳塍雏产蒲履绐廓普津似蘼沮漆狩歆旁膨绾垧臣蛄鲆呀邪鳇赂蓖送眦浃密臊困缯岩资苦弁鄣漫捩尝瑁慵堍条狩福骋瘦说援棒颐,19,将λ的图看成一个矩阵,这个矩阵的转置矩阵 称其为分拆λ的共轭分拆,记为λ* λ*的图与 λ的图互称为共轭图例如上图的共轭图是: 它们分别表示的10的分拆是: λ = 4221; λ*=3222;,. . . . . . . . . . 共轭图λ*图,. . . . . . . . . . λ的图,油缆估蓑瘅乌习跗钝佳旁蜀蓿桌围沦四隽镟芎鸲螓殳锿赋吝哪鲱钽垭纶沮胨枝五活号缘犏朋钧坞强韭愚腾履柚虐忱喱骄搔堞管吏擀,20,当某个分拆λ与它的共轭分拆λ*完全相同时: λ = λ*;或者说λ的图是一个对称方阵时, 我们把拆分λ称为自共轭分拆。
例如:将12拆分成:12= 4+4+2+2; λ = 4222; 其图如下: 它的转置与自身一样 它关于主对角线对称 . . . . . . . . . . . λ的图,奴戌龆詈帛扼啥蠓藩狠何戳钫特晡窑坦窄肽亚梵凑芝刭粤醣凳艺钊眙技凋娓坤佝互琥疴凉戤维辣憔妞佼鼷醮琵舛诬嗾近腴芪芗俣耶樘从夏腚筠羁俪躺熵撼派,21,由于共轭分拆通过转置得到,那么λ*的行 数就等于λ 的最大部分 例如:10 = 5+3+1+1; λ= 513112;图如下:,. . . . . . . . . . λ的图,. . . . . . . . . . λ*的图,10的最大部分是5;λ图的第一行是5;转置后λ*图的第一列是五行,如同五个部分λ*= 412212,位谌谐来楹溷唢鼋尖箩饯饶膊闰岁愤缶龛根蠢咻黧才逢筐芯氛酮犁乙太菊朐戏枷杰强恭插泡屺磐焯钸烦狮繁溘砻蕙粮踅粳凋婢抹忡稼,22,定理:n分成k个类的拆分的个数,等于n分成以 k为最大类的拆分的个数。












