全排列问题

全排列问题
全排列问题

一、全排列问题

1)实验问题:设计一个递归算法生成n个元素的全排列。

2)基本思想:运用递归的思想,对输入的数字拆分并依次进行全排列,再返回调用函数

的上一层再一次进行全排列,最后依照一定顺序把所有数字进行全排列。调用

Perm(list,k,m)函数产生全排列。

3)算法流程图:

4)测试数据及结果运行图:

5)源代码:

#include

long num=0;

#define N 4

void swap(int*a,int*b)

{

int temp;

temp=*a;

*a=*b;

*b=temp;

}

void perm(int list[],int k,int m) {

int i;

if(k==m)

{

for(i=0;i<=m;i++)

{

printf("%5d",list[i]);

}

printf("\n");

num++;

}

else

for(i=k;i<=m;i++)

{

swap(&list[k],&list[i]);

perm(list,k+1,m);

swap(&list[k],&list[i]);

}

}

void main()

{

int a[N];

printf("请输入%d个数",N);

for(int i=0;i

{

scanf("%d",&a[i]);

}

perm(a,0,N-1);

printf("num%1d",num);

}

6)调试心得:

写这个程序的时候对Perm函数的理解一开始不是很到位,所以编写的程序有一些问题,因为找不到返回上一层的调用点,弄不清压栈和弹栈的过程。后来在理解的基础下对程序进行调试,并修改一些基础错误之后,完成了该程序的编写。

二、汉诺塔问题

1)实验问题:设有A、B、C 共3根塔座,在塔座A上堆叠n个金盘,每个盘大小不

同,只允许小盘在大盘之上,最底层的盘最大。现在要求将A 上的盘全都移到C 上,在移的过程中要遵循以下原则:每次只能移动一个盘;圆盘可以插在A、B 和C任一个塔座上;在任何时刻,大盘不能放在小盘的上面。

2)基本思想:n=1时,直接移动盘子,不需要中间桥梁。n>1时,用一座辅助塔,设法将

n-1个较小的圆盘依照移动规则从塔a移至塔座c上,然后将剩下的最大圆盘从塔座a 移至塔座b上,最后,再设法将n-1个较小的圆盘依照移动规则从塔座c移至塔座b 上。并且,n个圆盘的移动问题可以分解为两次n-1个圆盘的移动问题,n-1个圆盘又可以分解,这就是此问题的递归思想。

3)算法流程图:

4)测试数据及结果运行图:

5)源代码:

#include

void Hanoi(int n,char one,char two,char three) {

void move(char x,char y);

if(n==1)

move(one,three);

else

{

Hanoi(n-1,one,three,two);

move(one,three);

Hanoi(n-1,two,one,three);

}

}

void move(char x,char y)

{

printf("请把%c移动到%c\n", x, y);

}

int main()

{

void Hanoi(int n,char one,char two,char three);

int m;

printf("请输入盘子的个数:\n");

scanf("%d",&m);

Hanoi(m,'A','B','C');

return 0; }

国家公务员:排列组合之错位排序

国家公务员:排列组合之错位排序 排列组合的数量题目当中,有一些技巧我们常常会用到,今天我们就一起来看一下排列组合问题中常用的方法——错位排序。 我们来讨论一个问题:这是一个很经典的数学问题:有一个人写了n封信件,对应n个信封,然而粗心的秘书却把所有信件都装错了信封,那么一共有多少种装错的装法? 这个问题可抽象为以下一个数学问题:已知一个长度为n的有序序列{a1,a2,a3,…,an},打乱其顺序,使得每一个元素都不在原位置上,则一共可以产生多少种新的排列?首先考虑几种简单的情况: 原序列长度为1 序列中只有一个元素,位置也只有一个,这个元素不可能放在别的位置上,因此原序列长度为1时该为题的解是0。 原序列长度为2 设原序列为{a,b},则全错位排列只需将两个元素对调位置{b,a},同时也只有这一种可能,因此原序列长度为2时该问题的解是1。 原序列长度为3 设原序列为{a,b,c},则其全错位排列有:{b,c,a},{c,a,b},解是2。 原序列长度为4 设原序列为{a,b,c,d},则其全错位排列有:{d,c,a,b},{b,d,a,c},{b,c,d,a},{d,a,b,c},{c,d,b,a},{c,a,d,b},{d,c,b,a},{c,d,a,b},{b,a,d,c},解是9。 在往下数,次数会更多,那我们就可以用不完全归纳得出规律:f(n)=(n-1)f(n-2)+(n-1)*f(n-1)=(n-1)[f(n-2)+f(n-1)] 。 很明显,规律不太好记。但是我们不用记,因为在公务员考试当中,题目一般情况下比较简单,我们只需要记住D1=0;D2=1;D3=2;D4=9;D5=44。即可下面我们一起来看一道例题: 【例】(2015-山东-59)某单位从下属的5个科室各抽调了一名工作人员,交流到其他科室,如每个科室只能接收一个人的话,有多少种不同的人员安排方式?()

超全排列组合二十种经典解法

超全的排列组合解法 排列组合问题联系实际生动有趣,但题型多样,思路灵活,因此解决排列组合问题,首先要认真审题,弄清楚是排列问题、组合问题还是排列与组合综合问题;其次要抓住问题的本质特征,采用合理恰当的方法来处理。 教学目标 1.进一步理解和应用分步计数原理和分类计数原理。 2.掌握解决排列组合问题的常用策略;能运用解题策略解决简单的综合应用题。提高学生解决问题分析问题的能力 3.学会应用数学思想和方法解决排列组合问题. 复习巩固 1.分类计数原理(加法原理) 完成一件事,有n 类办法,在第1类办法中有1m 种不同的方法,在第2类办法中有2 m 种不同的方法,…,在第n 类办法中有m 种不同的方法,那么完成这件事共有: 种不同的方法. 2.分步计数原理(乘法原理) 完成一件事,需要分成n 个步骤,做第1步有 1m 种不同的方法,做第2步有2m 种不同的方法,…,做第n 步有n m 种不同的方法,那么完成这件事共有: 种不同的方法. 3.分类计数原理分步计数原理区别 分类计数原理方法相互独立,任何一种方法都可以独立地完成这件事。 分步计数原理各步相互依存,每步中的方法完成事件的一个阶段,不能完成整个事件. 解决排列组合综合性问题的一般过程如下: 1.认真审题弄清要做什么事 2.怎样做才能完成所要做的事,即采取分步还是分类,或是分步与分类同时进行,确定分多少步及多少类。 3.确定每一步或每一类是排列问题(有序)还是组合(无序)问题,元素总数是多少及取出多少个元素. 4.解决排列组合综合性问题,往往类与步交叉,因此必须掌握一些常用的解题策略 一.特殊元素和特殊位置优先策略 例1.由0,1,2,3,4,5可以组成多少个没有重复数字五位奇数. 解:由于末位和首位有特殊要求,应该优先安排,以免不合要求的元素占了这两个位置. 先排末位共有1 3C 然后排首位共有14C 最后排其它位置共有34A

高中数学-重复的排列组合

重复的排列组合 一. 有重复排列–––分步计数原理 例1. 4个同学争夺3项竞赛冠军,冠军获得者共有几种可能情况? 解:完成这件事情可分三步:(1)第一项冠军有4种可能;(2)第二项冠军有4种可能;(3)第三项冠军有4种可能。所以可能情况有:4×4×4=64(种)。 一般地,从n个不同元素里取出允许重复的m个元素,按一定顺序排成一列,那么,第1、第2、…、第m个位置上选取元素的方法都有n种。由分步计数原理得每次从n个不同元素里取出允许重复的m个元素的排列数为: 相关练习: 用0,1,2,…,9这10个数字可组成多少个8位数字的电话号码?(108) 二. 不尽相异元素的排列–––组合法 例2. 小麦、大麦品种各1种,种在5种不同土质的试验田里,3块种小麦,2块种大麦,有多少种种法? 解:这5个不尽相异的元素有3个相同,另2个相同,所以共有:(种)种法。 一般地,在n个不尽相异的元素里,如果有m1个元素相同,又有m2个元素相同,并且m1+m2=n,那么这n个元素的不同排列种数。 三. 相同元素分组––––隔板法 例3. 5个相同小球放到4个不同盒子里,每盒至少有1个,共有多少种放法? 解法1:每盒先放入1球,剩下1球任选1盒,共有:(种)放法。 解法2:(第一隔板法) 5个小球可形成6个空隙,由于每盒至少放1个小球,所以除去两边空隙还剩4个空,只要在这4个位置上隔进3个板,即可满足要求。所以有:(种)放法。 例4. 将5个相同小球放到4个不同盒子里(盒子可空),共有多少种放法? 解法1:(分类法) 第一类:全部放入1个盒子里,有:(种)放法; 第二类:放入2个盒子里,有:(种)放法; 第三类:放入3个盒子里,有:(种)放法; 第四类:放入4个盒子里,有4种放法。 所以,共有:4+24+24+4=56(种)放法。 解法2:(第二隔板法) 将4个盒子与5个小球看成9个相同元素,除去两边形成8个空隙,将这8个空隙隔进3个板,即有:(种)放法。 一般地,相同元素分组,可用隔板法。如果每组至少一个元素可用第一隔板法,如果没有要求可用第二隔板法。 相关练习: 1. 某校准备参加2006年全国数学联赛,把10个名额分给高三8个班,每班至少1人,

全错位排列

全错位排列与多个特殊元素特殊位置 (C .T ) T 2=1,T 3=2,T n = (n -1) ( T n -1+T n -2) ,(n ≥3)( T n 为全错位排列数) 错位排列问题 题一 4名同学各写一张贺卡,先集中起来,然后每人从中拿出一张别人写的贺卡,则四张贺卡的不同分配方式共有 种. 题二 将编号为1,2,3,4的四个小球分别放入编号为1,2,3,4的四个盒子中,要求每个盒子放一个小球,且小球的编号与盒子的编号不能相同,则共有 种不同的放法. 这两个问题的本质都是每个元素都不在自己编号的位置上的排列问题,我们把这种限制条件的排列问题叫做全错位排列问题(所有元素均为特殊元素). 题三 五位同学坐在一排,现让五位同学重新坐,至多有两位同学坐自己原来的位置,则不 同的坐法有 种. 题三可以分类解决:第一类,所有同学都不坐自己原来的位置; 第二类,恰有一位同学坐自己原来的位置; 第三类,恰有两位同学坐自己原来的位置. 对于第一类,就是上面讲的全错位排列问题; 对于第二、第三类有部分元素还占有原来的位置,其余元素可以归结为全错位排列问题, 我们称这种排列问题为部分错位排列问题. (多个特殊元素,多个特殊位置) 部分错位排列(多个特殊元素,多个特殊位置) 例1:5个人站成一排,其中甲不站第一位,共有多少种不同的站法。 解一:(特殊元素特殊位置优先处理)第一步:安排甲这特殊元素,有14C 种; 第二步:安排其他人,其余的四个人(元素),不受限制,故有44A 种站法。由分步乘法原理 得14C 44A =96种站法。 解二:(排除法)先考虑5个人的全排列,有55A 种不同的排法,然后除去甲排第一(有44A 种) 这样得到共有:55A -44A =96种。 例2:5个人站成一排,其中甲不站第一位,乙不站第二位,共有多少种不同的站法。 解一:(特殊元素特殊位置优先处理) 分析:有两个特殊元素,分类讨论,减少限制条件。 第一类:甲站在第二位,则其他的四人(含乙),不受限制,有44A 种站法。 第二类:第一步安排特殊元素甲,甲不站在第二位,则甲也不能站在第一位,故甲的站法有 13C 种;第二步安排乙,乙不站第二位,也不能选择甲以经站的一个位置,故乙的站法有13C 种; 第三步安排其他人,其余的三个人(元素),不受限制,故有33A 种站法。由分步乘法原理得 13C 13C 33A 种站法。 由分类加法原理得44A +13C 13C 33A =78种。

错位重排专题

错位重排问题专项 错位重排 1-6个元素的错位重排数分别为0,1,2,9,44,265递推公式:Dm=(m-1)*[D(m-1)+D(m-2)]; 错位重排模型:把编号为1-m的小球分别放入编号为1-n的箱子错位重排(即1号球不在1号箱子、2号球不在2号箱子…m号球不在m号箱子),且每个箱子一个球,有多少种不同情况? 楚香凝证明:假设总情况数为D(m)种,如果让1号球先选,有(m-1)种选择;假设1号球选的2号箱子,接下来让2号球选箱子,进行分类讨论: ①如果2号球选的1号箱子,相当于剩下的(m-2)个球进行错位重排,有D(m-2)种; ②如果2号球选的不是1号箱子,则题目可转化为把编号为2→m的小球分别放入编号为 1、3→m的箱子错位重排(即2号球不在1号箱子、3号球不在3号箱子…m号球不在m号箱子),相当于m-1个球错位重排,有D(m-1)种; 所以可得D(m)=(m-1)*[D(m-1)+D(m-2)],得证; 例1:相邻的4个车位中停放了4辆不同的车,现将所有车开出后再重新停入这4个车位,要求所有车都不得停在原来的车位中,则一共有多少种不同的停放方式?【北京2014】 A.9 B.12 C.14 D.16 楚香凝解析: 解法一:四种元素错位重排有9种,选A 解法二:ABCD四辆车分别停放在一二三四号位置,A先选有三种情况,假设A选了二号,那么B再选、有三种选择,剩下C和D都只有一种选择,共3*3=9种,选A 例2:相邻的4个车位中停放了4辆不同的车,现将所有车开出后再重新停入这4个车位,要求有三辆车不能停在原来的车位中,则一共有多少种不同的停放方式? A.2 B.6 C.8 D.9 楚香凝解析:先选出停的正确的那辆车C(4 1)=4种,剩下三辆车错位重排有2种,共4*2=8种,选C 例3:相邻的4个车位中停放了4辆不同的车,现将所有车开出后再重新停入这4个车位,要求有两辆车不能停在原来的车位中,则一共有多少种不同的停放方式? A.2 B.6 C.8 D.9 楚香凝解析:先选出停的正确的两辆车C(4 2)=6种,剩下两辆车错位重排有1种,共6*1=6种,选B

全排列问题的解析

1.5全排列的生成算法 全排列的生成算法就是对于给定的字符集,用有效的方法将所有可能的全排列无重复无遗漏地枚举出来。 这里介绍全排列算法四种: (A)字典序法 (B)递增进位制数法 (C)递减进位制数法 (D)邻位对换法 1.5.1字典序法 对给定的字符集中的字符规定了一个先后关系,在此基础上规定两个全排列的先后是从左到右逐个比较对应的字符的先后。 [例]字符集{1,2,3},较小的数字较先,这样按字典序生成的全排列 是:123,132,213,231,312,321。 [注意] 一个全排列可看做一个字符串,字符串可有前缀、后缀。 1)生成给定全排列的下一个排列所谓一个的下一个就是这一个与下一个之间没有其他的。这就要求这一个与下一个有尽可能长的共同前缀,也即变化限制在尽可能短的后缀上。[例]839647521是1--9的排列。1—9的排列最前面的是123456789,最后面的是987654321,从右向左扫描若都是增的,就到了987654321,也就没有下一个了。否则找出第一次出现下降的位置。 / 1.5.2递增进位制数法 1)由排列求中介数 在字典序法中,中介数的各位是由排列数的位决定的.中介数位的下标与排列的位的下标一致。 在递增进位制数法中,中介数的各位是由排列中的数字决定的。即中介数中各位的下标与排列中的数字(2—n)一致。可看出n-1位的进位链。右端位逢2进1,右起第2位逢3进1,…,右起第i位逢i+1进1,i=1,2,…,n-1. 这样的中介数我们称为递增进位制数。上面是由中介数求排列。 由序号(十进制数)求中介数(递增进位制数)如下: m=m1,0≤m≤n!-1 m1=2m2+kn-1,0≤kn-1≤1 m2=3m3+kn-2,0≤kn-2≤2 …………… mn-2=(n-1)mn-1+k2,0≤k2≤n-2 mn-1=k1,0≤k1≤n-1 p1p2…pn←→(k1k2…kn-1)↑←→m 在字典序法中由中介数求排列比较麻烦,我们可以通过另外定义递增进位制数加以改进。为方便起见,令ai+1=kn-1,i=1,2,…,n-1 (k1k2…kn-1)↑=(anan-1…a2)↑ ai:i的右边比i小的数字的个数 在这样的定义下, 有839647521←→(67342221)↑

听说“9”和“44”与错位排列更配哦-全错位排列问题

听说“9”和“44”与错位排列更配哦-全错位排列问题亲,如果我说记住两个数字就能搞定数量关系中的一类难题,你信吗? 先不用忙着回答! 或许你将信将疑,但等你看完此文,你一定能找到足够的理由让自己相信。 一、问题导入 【引例1】唐僧、孙悟空、猪八戒、沙和尚4人在某公司不同岗位任职,现在需要调换岗位,要求每个人都不能在自己原来的岗位,则共有种不同的安排方法。 【引例2】有4名同学各写了一张贺卡,先全部收集起来,然后每人从中拿出一张贺卡,要求每个人都不拿自己的贺卡,则四张贺卡的不同分配方式共有种。 【引例3】将编号为1,2,3,4的四个小球分别放入编号为1,2,3,4的四个盒子中,要求每个盒子放一个小球,且小球的编号与盒子的编号不能相同(即1不放1,2不放2,3不放3,4不放4,也就是说4个全部放错),则共有种不同的放法。 不难发现,以上三个引例都是同一类问题,答案是多少呢?下面用枚举法给大家答案:假设原来顺序:A、B、C、D 枚举的时候注意按照一定规律进行,如果看成1、2、3、4号位置,那么第一步A可以放2、3、4号位置中的任意一个,第二步把B的位置确定,第三步确定C和D的位置:第1种错位排列:B、A、D、C(A在2位,B在1位,C、D位置就唯一确定了); 第2种错位排列:D、A、B、C(A在2位,B在3位,C、D位置就唯一确定了); 第3种错位排列:C、A、D、B(A在2位,B在4位,C、D位置就唯一确定了); 第4种错位排列:B、D、A、C(A在3位,B在1位,C、D位置就唯一确定了); 第5种错位排列:C、D、A、B(A在3位,B在4位,C、D位置可以是1、2); 第6种错位排列:D、C、A、B(A在3位,B在4位,C、D位置也可以是2、1); 第7种错位排列:B、C、D、A(A在4位,B在1位,C、D位置就唯一确定了); 第8种错位排列:C、D、B、A(A在4位,B在3位,C、D位置可以是1、2); 第9种错位排列:D、C、B、A(A在4位,B在3位,C、D位置也可以是2、1)。 可见,4个元素的错位排列一共有9种。即以上三道引例的答案都是9种。 那么,问题来了:图图老湿,我不想一个一个的枚举,眼睛都看花了,肿么办?而且如果下次不是4个元素了呢?答案又肿么办? 请耐心看下文。提前声明一下:接下来这一段需要一定的数学知识,如果觉得自己数学还不错的话可以详细逐字阅读;如果说NO,也没关系嗒,只需你记住最后结论即可哦! 二、理论推导

《有关重复的排列组合的解题归纳》

有关重复的排列组合的解题归纳 我们常见的排列、组合问题,其中的元素通常是不可重复的,下面我们看几类可重复的排列、组合问题。 一. 有重复排列–––分步计数原理 例1. 4个同学争夺3项竞赛冠军,冠军获得者共有几种可能情况? 解:完成这件事情可分三步:(1)第一项冠军有4种可能;(2)第二项冠军有4种可能;(3)第三项冠军有4种可能。所以可能情况有:4×4×4=64(种)。 一般地,从n 个不同元素里取出允许重复的m 个元素,按一定顺序排成一列,那么,第1、第2、…、第m 个位置上选取元素的方法都有n 种。由分步计数原理得每次从n 个不同元素里取出允许重复的m 个元素的排列数为: N n n n n m n m n N m n m =????=∈≤ (,,)* 相关练习: 用0,1,2,…,9这10个数字可组成多少个8位数字的电话号码?(108) 二. 不尽相异元素的排列–––组合法 例2. 小麦、大麦品种各1种,种在5种不同土质的试验田里,3块种小麦,2块种大麦,有多少种种法? 解:这5个不尽相异的元素有3个相同,另2个相同,所以共有:C C 535210==(种)种法。 一般地,在n 个不尽相异的元素里,如果有m 1个元素相同,又有m 2个元素 相同,并且m 1+m 2=n ,那么这n 个元素的不同排列种数N C C n m n m ==12。 三. 相同元素分组––––隔板法 例3. 5个相同小球放到4个不同盒子里,每盒至少有1个,共有多少种放法? 解法1:每盒先放入1球,剩下1球任选1盒,共有:C 414=(种)放法。 解法2:(第一隔板法)

5个小球可形成6个空隙,由于每盒至少放1个小球,所以除去两边空隙还 剩4个空,只要在这4个位置上隔进3个板,即可满足要求。所以有:C 434 =(种)放法。 例4. 将5个相同小球放到4个不同盒子里(盒子可空),共有多少种放法? 解法1:(分类法) 第一类:全部放入1个盒子里,有:C 414=(种)放法; 第二类:放入2个盒子里,有:C 42424?=(种)放法; 第三类:放入3个盒子里,有:C 43624?=(种)放法; 第四类:放入4个盒子里,有4种放法。 所以,共有:4+24+24+4=56(种)放法。 解法2:(第二隔板法) 将4个盒子与5个小球看成9个相同元素,除去两边形成8个空隙,将这8个空隙隔进3个板,即有:C 8356=(种)放法。 一般地,相同元素分组,可用隔板法。如果每组至少一个元素可用第一隔板法,如果没有要求可用第二隔板法。 相关练习: 1. 某校准备参加2006年全国数学联赛,把10个名额分给高三8个班,每班 至少1人,不同的分配方案有几种?(C 9736=) 2. 某校准备参加2006年全国数学联赛,把10个名额分给高三8个班,不同 的分配方案有几种?(C 17719448=) 四. 平均分组问题––––平均分给几组,除以几的阶乘 例5. 将6个同学平均分成3组有多少种分法? 错解:分法有:C C C 62422290??=(种) 分析:若将6个同学编号,假如分组情况如下:1、2;3、4;5、6。先挑出1、2与后挑出1、2是同一情况,没有先后顺序差别,上面的解法产生了重复。

全装错信问题即全错位排列问题及拓展

全装错信问题即全错位排列问题及拓展 ——龙城老欧全装错信问题又称全错位排列问题,最早由瑞士数学家伯努利提出,最后由伯努利与他的学生欧拉讨论解决,这个问题就是—— 我们将编号是1、2、…、n的n封信,装入编号为1、2、…、n的n个信封,要求每封信都和信封的编号不同,即1不能装进1,2不能装进2,3不能装进3……问有多少种装法? 看到这个问题时,我们的第一反应就是退到简单处入手研究,如果只有一封信,2封信,3封信,4封信,……,然后从中再思考,之间是否有共性,是否有关联,共性用归纳,关联构成递推,或者其他。 〖解法〗 容易知道:a[1]=0,a[2]=1,a[3]=2,a[4]=6; 依我们设a[i]为i封信的全错位排列数据递归推理那么有 a[i]=(a[i-1]+a[i-2])×(i-1), (i>=3)。 为什么?为什么?为什么?大多数人看不明白。 不急,尽量先自己思考,不行的话,听我来解释: 思考1:对于插入第i个元素,只可能有两种情况: 第一种情况:插入第i个元素时,前i-1个已经错位排好,则选择其中任意一个与第i个互换一定满足要求,选择方法共i-1种,前i-1位错排f[i-1]种,记f[i-1]*(i-1),如下图: 第二种情况:插入第i个元素时,前i-1个中恰有一个元素恰好在自己的位置上,即恰好只有一个元素不满足错位排列,其他i-2个错位排好,则将i与j交换,j在i-2位中的插入共i-1种,前i-2位错排a[i-2]种,记f[i-2]*(i-1),如下图: 以上两种情况求和可得: a[i]=(a[i-1]+a[i-2])×(i-1) (i>=3) 我们还可以这样思考: 思考2:有(i-1)个人已经都坐在在自己的板凳上了,现在第i个人张三带着自己的板凳来了,下面我们来对这i个人进行全错位排排坐, 方法1:前面(i-1)个人中的某一个带着板凳出来与第i个人张三互换板凳坐(有(i-1)种方法),其它(i-2)个人进行全错位排列(有a[i-2]种方法),这样就整体上都是全错位;

排列组合之相同元素分配问题

排列组合之相同元素分配问题 华图教育 姜洋 排列组合问题是公务员考试中常见的一类计数问题,也是广大考生最为头疼的问题,排列组合的题型很多,其中有一类题目是涉及到相同元素分配的题目,本篇文章就针对排列组合中这样一类问题进行详细阐述。 【例】把9个苹果分给5个人,每人至少分一个苹果,那么不同的分法一共有多少种? A.30 B.40 C.60 D.70 【解析】遇到这样的相同元素进行分配的问题,我们一般都是采用挡板法进行计算。也就是9个苹果排成一排,形成8个空,中间插4个挡板,就可以把9个苹果分成5份,并且 每份至少为1个。在8个空插上4个挡板:7048=C (种)分法。 此题是9个相同元素被分成5份,每份至少为1,我们是在9个元素形成的中间8个空隙中插入4个挡板,分成5份。如果是10个相同元素被分成4份,每份至少为1,那么我们就可以在10个相同元素形成的9个空隙中,插入3个挡板,将10个元素分成4份。 推而广之,如果题目中给出的是遮掩一个模型“M 个相同元素,分成N 份,每份至少为1,问有多少种不同的分法”,就是在M 个元素形成的M-1个空隙中插入N-1个挡板。所 以公式即为:11--N M C 。了解了这个公式之后,我们来做两道例题试一下。 【例题1】把5件相同的礼物全部分给3个小朋友,使每个小朋友都分到礼物,分礼物的不同分法一共有几种?( ) A.3 B.4 C.5 D.6 【答案】D 。 【解析】这是一道相同元素的分配问题,并且符合我们之前所讲过的模型,我们可以直 接代入公式6241315==--C C 种分法。答案选择D 。 我们在做题的过程中,经常会遇到这个类型题的变形题目,比如说一下这几道例题。 【例题2】将12个相同的苹果分给3个小朋友,要求每个小朋友至少分得3个苹果,请问一共有多少种分配方式?( ) A.8 B.10 C.12 D,14 【答案】B 。 【解析】这道题同样是一道相同元素的分配问题,但是和我们之前讲过的模型并非完全一致,在模型中,每份至少为1,而本题中,每个小朋友至少分得的是3个苹果,所以我们先拿出6个苹果,给每个小朋友先分得2个苹果,这时就变成“6个苹果,分给3个小朋友,每个小朋友至少分得1个苹果”,此时我们就可以直接代入公式102 51316==--C C 种分法,答案选择B 。 【例题3】将6个相同的苹果分给3个小朋友,请问一共有多少种不同的分法?( ) A.16 B.20 C.24 D.28 【答案】D 。 【解析】这道题目同样是相同元素分配问题,但是题目中并没有要求每个小朋友至少分得1个苹果,与我们总结出来的模型不相符,处理本道题目的时候,我们先从三个小朋友出分别“借”一个苹果,这时就变成“9个苹果分给3个小朋友,每个小朋友至少分得1个苹

句子排序方法及习题附问题详解

句子排序方法及习题附答案 怎样排列顺序错乱的句子 把排列错乱的句子整理成一段通顺连贯的话,能训练对句子的理解能力、有条理表达能力和构段能力。这样的练习一般可按五步进行。 第一步,仔细阅读每句话或每组句子,理解它们的主要内容;第二步,综合各句的意思,想想这些话主要说的是什么内容;第三步,想想全段的内容按什么顺序排列好,即找出排列顺序的依据,如,是按事情发展顺序,还是时间顺序,或方位,还是“总分”等;第四步,按确定的排列依据排列顺序;第五步,按排好的顺序仔细读两遍,看排得对不对,如发现有的句子排得位置不对,就进行调整,直到这段话排得通顺连贯为止。把错乱的句子排列好,这是小学阶段语文练习中的一个重要形式,必须好好掌握。学会排列句子,不仅能提高我们的思维能力,还能提高我们的写作能力。那么,如何学会排列好句子呢?我们可以按下列方法进行。 一、按事情发展的顺序排列 有些错乱的句子,我们在排列时,应仔细分析句与句之间的联系。常见的错乱句子,往往叙述了一件完整的事,或者活动的具体过程。那么,我们就可以按事情发展的顺序来排列。 二、按时间先后顺序排列 对一些错乱的句子,我们可以找出表示时间概念的词语,如,早晨、上午、中午、下午等词,然后按时间先后顺序进行排列句子。 三、按先总述后分述的顺序排列 根据这段话的特点,找出这句话是个中心句,其他句子都是围绕着这句话来说的。显而易见,我们可按先总后分的顺序来排列句子。 四、按空间推移的顺序排列 所谓空间推移,就是由地点的转移,表达出不同的内容。排列时,要十分注意,不要与其他的方法相混淆。 对练习排列句子有帮助 把错乱的句子排列好,这是小学阶段语文练习中的一个重要形式,必须好好掌握。学会排列句子,不仅能提高我们的思维能力,还能提高我们的写作能力。那么,如何学会排列好句子呢?我们可以按下列方法进行。 一、按事情发展的顺序排列 有些错乱的句子,我们在排列时,应仔细分析句与句之间的联系。常见的错乱句子,往往

史上最全的难题排列组合大全

史上最全的排列组合难题大总结 一.特殊元素和特殊位置优先策略 例1.由0,1,2,3,4,5可以组成多少个没有重复数字五位奇数. 解:由于末位和首位有特殊要求,应该优先安排,以免不合要求的元素占了这两个位置. 1C 先排末位共有31C然后排首位共有43A最后排其它位置共有4113CCA?288由分步计数原理得443需若以元素分析为主,位置分析法和元素分析法是解决排列组合问题最常用也是最基本的方法, 再处理其它位需先满足特殊位置的要求,再处理其它元素.若以位置分析为主,先安排特殊元素, 置。若有多个约束条件,往往是考虑一个约束条件的同时还要兼顾其它条件 若两种葵花不种在中间,也不种在两端的花盆里,问有种不同的花种在排成一列的花盆里,练习题:7 多少不同的种法?.相邻元素捆绑策略二共有多少种不同的排法. ,其中甲乙相邻且丙丁相邻, 例2. 7人站成一排解:可先将甲乙两元素捆绑成整体并看成一个复合元素,同时丙丁也看成一个复合元素,再与其它元252480?AAA种不同的素进行排列,同时对相邻元素内部进行自排。由分步计数原理可得共有252排法 要求某几个元素必须排在一起的问题,可以用捆绑法来解决问题.即将需要相邻的元素合并为一个元素,再与其它元素一起作排列,同时要注意合并元素内部也必须排列. 练习题:某人射击8枪,命中4枪,4枪命中恰好有3枪连在一起的情形的不同种数为 20 三.不相邻问题插空策略 例3.一个晚会的节目有4个舞蹈,2个相声,3个独唱,舞蹈节目不能连续出场,则节目的出场顺序有多少种? 5A第二步将4舞蹈插入第一步排好的6个元素种,解:分两步进行第一步排2个相声和3个独唱共有5445AAA由分步计数原理,中间包含首尾两个空位共有种节目的不同顺序共有不同的方法,665种 元素相离问题可先把没有位置要求的元素进行排队再把不相邻元素插入中间和两 练习题:某班新年联欢会原定的5个节目已排成节目单,开演前又增加了两个新节目.如果将这两个新节目插入原节目单中,且两个新节目不相邻,那么不同插法的种数为 30 四.定序问题倍缩空位插入策略 例人排队,其中甲乙丙3人顺序一定共有多少不同的排法 解:(倍缩法)对于某几个元素顺序一定的排列问题,可先把这几个元素与其他元素一起进行排列,然后37/AA则共有不同排法种数是:用总排列数除以这几个元素之间的全排列数,374A种方法,其余的三个位置甲乙丙共有把椅子让除甲乙丙以外的四人就坐共有设想有(空位法)77 4A种方法。种坐法,则共有 17思考:可以先让甲乙丙就坐吗? 方法四人依次插入共有4 再把其余种排法共有先排甲乙丙三个人(插入法 ),1, 定序问题可以用倍缩法,还可转化为占位插 ,要求从左至右身高逐渐增加,共有多少排法?:10人身高各不相等,排成前后排,每排5人练习题5C10.重排问题求幂策略五 ,共有多少种不同的分法5.把6名实习生分配到7个

7、排列组合问题之全错位排列问题(一个通项公式和两个递推关系)

排列组合问题之全错位排列问题 (一个通项公式和两个递推关系) 一、问题引入: 问题1、4名同学各写一张贺卡,先集中起来,然后每人从中拿出一张别人写的贺卡,则四张贺卡的不同分配方式共有多少种? 问题2、将编号为1,2,3,4的四个小球分别放入编号为1,2,3,4的四个盒子中,要求每个盒子放一个小球,且小球的编号与盒子的编号不能相同,则共有多少种不同的放法? 这两个问题的本质都是每个元素都不在自己编号的位置上的排列问题,我们把这种限制条件的排列问题叫做全错位排列问题。 问题3、五位同学坐在一排,现让五位同学重新坐,至多有两位同学坐自己原来的位置,则不同的坐法有多少种? 解析:可以分类解决:第一类,所有同学都不坐自己原来的位置; 第二类,恰有一位同学坐自己原来的位置; 第三类,恰有两位同学坐自己原来的位置。 对于第一类,就是全错位排列问题;对于第二、第三类有部分元素还占有原来的位置,其余元素可以归结为全错位排列问题,我们称这种排列问题为部分错位排列问题。 设n 个元素全错位排列的排列数为n T ,则对于问题3,第一类全错位排列的排列数为 5T ;第二类先确定一个排原来位置的同学有5种可能,其余四个同学全错位排列,所以第 二类的排列数为45T ;第三类先确定两个排原位的同学,有2 510C =种可能,其余三个同学 全错位排列,所以第三类的排列数为310T ,因此问题3的答案为:543510109T T T ++=。 由于生活中很多这样的问题,所以我们有必要探索一下关于全错位排列问题的解决方法。 二、全错位排列数的递推关系式之一: ()()121n n n T n T T --=-+ ()3n ≥ ①定义:一般地,设n 个编号为1、2、3、… 、i 、…、j 、…、n 的不同元素1a 、 2a 、3a 、…、i a 、…、j a 、…、n a ,排成一排,且每个元素均不排在与其编号相同的位 置,这样的全错位排列数为n T ,则 21T =;32T =;()()121n n n T n T T --=-+,()3n ≥。 ②递推关系的确立: 显然当1n =、2时,有10T =,21T =。 当3n ≥时,在n 个不同元素中任取一个元素i a 不排在与其编号相对应的i 位,必排在剩下1n -个位置之一,所以i a 有1n -种排法。 对i a 每一种排法,如i a 排在j 位,对应j 位的元素j a 的排位总有两种情况: 第一种情况:j a 恰好排在i 位上。此时,i a 排在j 位,j a 排在i 位,元素i a ,j a 排位已定。还剩2n -个元素,每个元素均有一个不能排的位置,它们的排位问题就转化为2n - 个元素全错位排列数,应有2n T -种。 第二种情况:j a 不排在i 位上。此时,i a 仍排在j 位,j a 不排在i 位,则j a 有1n -个位置可排。除i a 外,还有1n -个元素,每个元素均有一个不能排的位置,问题就转化为1n -n 个元素全错位排列数,应有1n T -种。 由乘法原理和加法原理可得:()()121n n n T n T T --=-+,()3n ≥。 利用此递推关系可以分别算出49T =,544T =。

排列组合错位重排

排列组合错位重排 Document number:NOCG-YUNOO-BUYTT-UU986-1986UT

排列组合-错位重排 题型概述: 错位重排作为排列组合的一种模型,原理很复杂,但是应用上面很简答。 那我们就通过几个例题来学习下这种题型。 题型要点: 错位题型最直接的就是记住公式:一个元素错位重排的时候情况为0(因 为只有一个,不可能排错),两个元素错位重排情况为1,三个为2,四个为 9,五个为44,…………。从0,1,2,9,44可以看出后面的数为前面两数和的倍数, 那我们后面的情况也就不难推导出来。D n=(n-1)(D n-2+D n-1),(D1=0, D2=1,D3=2)。 如果从排列组合的角度展开,我们分别看下: 三个错排:三个全排列?三个序排?一个序排=A33?1?C31=2 四个错排:四个全排列?四个序排?两个序排?一个序排= 四个全排列?四个序排?两个错排?三个错排=A44?1?C42×1?C41×2=9 五个错排:五个全排列?五个序排?三个序排?两个序排?一个序排= 五个全排列?五个序排?两个错排?三个错排?四个错排= A55?1?C52×1?C52×2?C54×9=44………… ………… …………

例题: 1.四位厨师聚餐时各做了一道拿手菜,现在要求每个人去品尝一道菜,但不能尝自己做 的那道菜,问共有几种不同的尝法(11年浙江) 种种种种 2.五个瓶子都贴有标签,其中恰好贴错了三个,则贴错的可能情况有多少种(07年北 京) 3.要把A、B、C、D四包不同的商品放到货架上,但是,A不能放在第一层,B不能放在 第二层,C不能放在第三层,D不能放在第四层,那么,不同的放法共有()种。 (09年云南)

全错位排列

一、问题导入 【引例1】唐僧、孙悟空、猪八戒、沙和尚4人在某公司不同岗位任职,现在需要调换岗位,要求每个人都不能在自己原来的岗位,则共有种不同的安排方法。 【引例2】有4名同学各写了一张贺卡,先全部收集起来,然后每人从中拿出一张贺卡,要求每个人都不拿自己的贺卡,则四张贺卡的不同分配方式共有种。 【引例3】将编号为1,2,3,4的四个小球分别放入编号为1,2,3,4的四个盒子中,要求每个盒子放一个小球,且小球的编号与盒子的编号不能相同(即1不放1,2不放2,3不放3,4不放4,也就是说4个全部放错),则共有种不同的放法。 不难发现,以上三个引例都是同一类问题,答案是多少呢下面用枚举法给大家答案:假设原来顺序:A、B、C、D 枚举的时候注意按照一定规律进行,如果看成1、2、3、4号位置,那么第一步A可以放2、3、4号位置中的任意一个,第二步把B的位置确定,第三步确定C和D的位置:第1种错位排列:B、A、D、C(A在2位,B在1位,C、D位置就唯一确定了); 第2种错位排列:D、A、B、C(A在2位,B在3位,C、D位置就唯一确定了); 第3种错位排列:C、A、D、B(A在2位,B在4位,C、D位置就唯一确定了); 第4种错位排列:B、D、A、C(A在3位,B在1位,C、D位置就唯一确定了); 第5种错位排列:C、D、A、B(A在3位,B在4位,C、D位置可以是1、2); 第6种错位排列:D、C、A、B(A在3位,B在4位,C、D位置也可以是2、1); 第7种错位排列:B、C、D、A(A在4位,B在1位,C、D位置就唯一确定了); 第8种错位排列:C、D、B、A(A在4位,B在3位,C、D位置可以是1、2); 第9种错位排列:D、C、B、A(A在4位,B在3位,C、D位置也可以是2、1)。 可见,4个元素的错位排列一共有9种。即以上三道引例的答案都是9种。 二、理论推导 其实,上面引例涉及的三个问题的本质都是每个元素都不在自己编号的位置上的排列问题,我们把带这种限制条件的排列问题叫做全错位排列问题。 它是一个非常古老的数学问题,贝努利、欧拉等数学家都曾经研究过。这类问题虽然有难度,但我们解题是有快速破解的“窍门”的。且看下面详细解读: 我们将n个元素的全错位排列数记做Dn。 由于1个元素没有错位排列,因此D1=0。 2个元素时可以相互交换一下位置,即有1种错位排列,则D2=1。 当n≥3时,在n个不同元素中任取一个元素ai不排在与其编号相对应的i位,必排在剩下n-1个位置之一,所以ai有n-1种排法。 即第一步排ai,有n-1种。 第二步:排ai所占位置对应的元素。

排列组合难题二十一种方法(含答案详解)

排列组合难题二十一种方法 解决排列组合综合性问题的一般过程如下: 1.认真审题弄清要做什么事 2.怎样做才能完成所要做的事,即采取分步还是分类,或是分步与分类同时进行,确定分多少步及多少类。 3.确定每一步或每一类是排列问题(有序)还是组合(无序)问题,元素总数是多少及取出多少个元素. 4.解决排列组合综合性问题,往往类与步交叉,因此必须掌握一些常用的解题策略 一.特殊元素和特殊位置优先策略 例1.由0,1,2,3,4,5可以组成多少个没有重复数字五位奇数. 解:由于末位和首位有特殊要求,应该优先安排, 以免不合要求的元素占了这两个位置. 先排末位共有13C 然后排首位共有1 4C 最后排其它位置共有34A 由分步计数原理得113434288C C A = 练习题:7种不同的花种在排成一列的花盆里,若两种葵花不种在中间,也不种在两端的 花盆里,问有多少不同的种法? 二.相邻元素捆绑策略 例2. 7人站成一排 ,其中甲乙相邻且丙丁相邻, 共有多少种不同的排法. 解:可先将甲乙两元素捆绑成整体并看成一个复合元素,同时丙丁也看成一个复合元 素,再与其它元素进行排列,同时对相邻元素内部进行自排。由分步计数原理可得共有522522480A A A =种不同的排法 乙 甲丁 丙 练习题:某人射击8枪,命中4枪,4枪命中恰好有3枪连在一起的情形的不同种数为 20 三.不相邻问题插空策略 例3.一个晚会的节目有4个舞蹈,2个相声,3个独唱,舞蹈节目不能连续出场,则节目的 出场顺序有多少种? 解:分两步进行第一步排2个相声和3个独唱共有55A 种, 第二步将4舞蹈插入第一步排好的6个元素中间包含首尾两个空位共有种4 6A 不同的方法,由分步计数原理,节目 的不同顺序共有54 56A A 种 练习题:某班新年联欢会原定的5个节目已排成节目单,开演前又增加了两个新节目.如果将这两个新节目插入原节目单中,且两个新节目不相邻,那么不同插法的种数为 30 四.定序问题倍缩空位插入策略 例4.7人排队,其中甲乙丙3人顺序一定共有多少不同的排法 C 14A 34C 1 3

关于全错位问题的结论

关于“全错位问题”的一个重要结论 一般地,我们把“1”不放在第一位,“2”不放在第二位,“3”不放在第三位……。“n ”不放在第n 位,称为“全错位问题”。在全错位问题中,如果一共有n 个元素,我们用f(n)表示全错位问题的排法种数。则可得一个重要结论: f(n)=nf(n-1)+(-1)n ,(n ≧2) * 例如:n=1时,显然f(1)=0 n=2时 共1种情况 而f(2)=2f(1)+(-1)2=1 符合*式 n=3时 或 共2种情况 而f(3)=3f(2)+(-1)3 =3×1-1=2 符合*式 n=4时,举例:用1、2、3、4这四个数字组成无重复数字的四位

数,1不在个位,2不在十位,3不在百位,4不在千位,共有多少种排法? 列举如下: 共9种排法 而f(4)=4f(3)+(-1)4=4×2+1=9符合*式 同理可验证: F(5)=5f(4)+(-1)5=44成立…… 下面给予一般性证明f(n)=nf(n-1)+(-1)n ,(n≧2) 1.当n=2时,f(3)=1,f(3)=3f(2)-1=2,等式成立, 当n=3时,f(3)=2,f(4)=4f(3)+1=9,等式成立; 2.假设n≤k (k≧3)等式成立,即k个元素a1、a2、a3……a k全错位排序的方法数的递推关系为f(k)=kf(k-1)+(-1)k, 则当n=k+1时,设全错位排序的元素为a1、a2、a3……a k、a k+1。在k个元素全错位排序的基础上,k+1个元素全错位排序后,它们全错位排序的方法分为两类,(1)a k+1与a i(i=1、2、……k)互调位置,其余元素全错位排列,方法数为kf(k-1);(2)a k+1在a i的位置上,但a i (i=1、2、……k)不在a k+1的位置上,相当于a k+1将的每一个全错位排

全排列算法解析(完整版)

全排列以及相关算法 在程序设计过程中,我们往往要对一个序列进行全排列或者对每一个排列进行分析。全排列算法便是用于产生全排列或者逐个构造全排列的方法。当然,全排列算法不仅仅止于全排列,对于普通的排列,或者组合的问题,也可以解决。本文主要通过对全排列以及相关算法的介绍和讲解、分析,让读者更好地了解这一方面的知识,主要涉及到的语言是C和C++。本文的节数: 1.全排列的定义和公式: 2.时间复杂度: 3.列出全排列的初始思想: 4.从第m个元素到第n个元素的全排列的算法: 5.全排列算法: 6.全排列的字典序: 7.求下一个字典序排列算法: 8.C++ STL库中的next_permutation()函数:(#include) 9.字典序的中介数,由中介数求序号: 10.由中介数求排列: 11.递增进位制数法: 12.递减进位制数法: 13.邻位对换法: 14.邻位对换法全排列: 15.邻位对换法的下一个排列: 16.邻位对换法的中介数: 17.组合数的字典序与生成: 由于本文的,内容比较多,所以希望读者根据自己的要求阅读,不要一次性读完,有些章节可以分开读。第1节到第5节提供了全排列的概念和一个初始的算法。第6节到第8节主要讲述了字典序的全排列算法。第9到第10节讲了有关字典序中中介数的概念。第11到第12节主要介绍了不同的中介数方法,仅供扩展用。第13节到15节介绍了邻位对换法的全排的有关知识。16节讲了有关邻位对换法的中介数,仅供参考。第17节讲了组合数生成的算法。 1.全排列的定义和公式: 从n个数中选取m(m<=n)个数按照一定的顺序进行排成一个列,叫作从n个元素中取m 个元素的一个排列。由排列的定义,显然不同的顺序是一个不同的排列。从n个元素中取m 个元素的所有排列的个数,称为排列数。从n个元素取出n个元素的一个排列,称为一个全排列。全排列的排列数公式为n!,通过乘法原理可以得到。 2.时间复杂度: n个数(字符、对象)的全排列一共有n!种,所以全排列算法至少时O(n!)的。如果要对全排列进行输出,那么输出的时间要O(n*n!),因为每一个排列都有n个数据。所以实际上,全排列算法对大型的数据是无法处理的,而一般情况下也不会要求我们去遍历一个大型数据的全排列。 3.列出全排列的初始思想: 解决一个算法问题,我比较习惯于从基本的想法做起,我们先回顾一下我们自己是如何写一组数的全排列的:1,3,5,9(为了方便,下面我都用数进行全排列而不是字符)。

全错位排列公式

全错位排列 先看下面例子: 例1. 5个人站成一排,其中甲不站第一位,乙不站第二位,共有多少种不同的站法。 这个问题在高中很多参考书上都有,有几种解法,其中一种解法是用排除法: 先考虑5个全排列,有55A 种不同的排法,然后除去甲排在第一(有44A 种)与乙排第二(也有44A 种),但两种又有 重复部分,因此多减,必须加上多减部分,这样得到共有:543543278A A A -+=种。 现在考虑: 例2.5个人站成一排,其中甲不站第一位,乙不站第二位,丙不站第三位,共有多少种不同的站法。 仿上分析可得:543254323364A A A A -+-=种 这与全错位排列很相似。 全错位排列——即n 个元素全部都不在相应位置的排列。看下面的问题 例3.5个人站成一排,其中A 不站第一位,B 不站第二位,C 不站第三位,D 不站第四位,E 不站第五位,共有多少种不同的站法。 解析:上面例1,例2实际上可以看成n 个不同元素中有()m m n ≤不排在相应位置。 公式一:n 个不同元素排成一排,有m 个元素()m n ≤不排在相应位置的排列种数共有: ()1122121m n n n m n m n m n m n m n m A C A C A C A -------+++- 种 这个公式在n m =时亦成立,从而这个问题可能用上面的公式得出: 514233241505545352515044A C A C A C A C A C A -+-+-=种 (注意0000!1n C A ===) (1993年高考)同室四人各写一张贺年卡,先集中起来。然后每人从中拿一张别人送出的贺年卡。则四张贺年卡不同的分配方式有 (A)6种 (B)9种 (C)11种 (D)23种 解析:由上面公式得: 4132231404434241409A C A C A C A C A -+-+=种,∴选择B 答案 因此可得到全错位排列的公式: n 个不同元素排成一排,第一个元素不在第一位,第二个元素不在第二位,……,第n 个元素不在第n 位的排列数为: ()1122121n n n n n n n n n n n n n n n A C A C A C A -------+++- 这实际上是公式一的特殊情况。这个公式很有用,只要有特殊元素不站特殊位置的问题,都可以用这个公式很快得到解决,另一个计算公式:()111!111!2!3!!n n S n n ? ?=-+-++- ???

相关文档
最新文档