1.
错排
void init()
{
D[0]=1;D[1]=0;
for(int i=1;i<maxn;i++)//错排
D[i]=((i-1)*(D[i-1]+D[i-2])+mod)%mod;
int i;
for (p[0]=i=1;i<=200000;i++) p[i]=1ll*p[i-1]*i%mod;
for (int i = 0; i < maxn; i++)//排列组合
{
for (int j = 0; j <= min(105, i); j++)
{
if (j == 0) C[i][j] = 1;
else
C[i][j] = (C[i-1][j] + C[i-1][j-1]) % mod;
}
}
}
2.
m个人传球,甲第一次传,传了n次,球又回到甲手中,有几种方式?
x+(m-1)(x+1)=(m-1)^n n为奇数 x为初始人,x+1为非初始人
x+(m-1)(x-1)=(m-1)^n n为偶数 x为初始人,x-1为非初始人
3.
插板法就是在n个元素间的(n-1)个空中插入 若干个(b)个板,可以把n个元素分成(b+1)组的方法。
应用插板法必须满足三个条件:
(1) 这n个元素必须互不相异
(2) 所分成的每一组至少分得一个元素
(3) 分成的组别彼此相异
举个很普通的例子来说明
把10个相同的小球放入3个不同的箱子,每个箱子至少一个,问有几种情况?
问题的题干满足 条件(1)(2),适用插板法,c9 2=36
下面通过几道题目介绍下插板法的应用
===================================================
a 凑元素插板法 (有些题目满足条件(1),不满足条件(2),此时可适用此方法)
例1 :把10个相同的小球放入3个不同的箱子,问有几种情况?
3个箱子都可能取到空球,条件(2)不满足,此时如果在3个箱子种各预先放入
1个小球,则问题就等价于把13个相同小球放入3个不同箱子,每个箱子至少一个,有几种情况?
显然就是 c12 2=66
-------------------------------------------------
例2: 把10个相同小球放入3个不同箱子,第一个箱子至少1个,第二个箱子至少3个,第三个箱子可以放空球,有几种情况?
我们可以在第二个箱子先放入10个小球中的2个,小球剩8个放3个箱子,然后在第三个箱子放入8个小球之外的1个小球,则问题转化为 把9个相同小球放3不同箱子,每箱至少1个,几种方法? c8 2=28
==================================================
b 添板插板法
例3:把10个相同小球放入3个不同的箱子,问有几种情况?
-o - o - o - o - o - o - o - o - o - o - o表示10个小球,-表示空位
11个空位中取2个加入2块板,第一组和第三组可以取到空的情况,第2组始终不能取空
此时 若在 第11个空位后加入第12块板,设取到该板时,第二组取球为空
则每一组都可能取球为空 c12 2=66
--------------------------------------------------------
例4:有一类自然数,从第三个数字开始,每个数字都恰好是它前面两个数字之和,直至不能再写为止,如257,1459等等,这类数共有几个?
因为前2位数字唯一对应了符合要求的一个数,只要求出前2位有几种情况即可,设前两位为ab
显然a+b<=9 ,且a不为0
1 -1- 1 -1 -1 -1 -1 -1 -1 - - 1代表9个1,-代表10个空位
我们可以在这9个空位中插入2个板,分成3组,第一组取到a个1,第二组取到b个1,但此时第二组始终不能取空,若多添加第10个空时,设取到该板时第二组取空,即b=0,所以一共有 c10 2=45
-----------------------------------------------------------
例5:有一类自然数,从第四个数字开始,每个数字都恰好是它前面三个数字之和,直至不能再写为止,如2349,1427等等,这类数共有几个?
类似的,某数的前三位为abc,a+b+c<=9,a不为0
1 -1- 1 -1 -1 -1 -1 -1 -1 - - -
在9个空位种插如3板,分成4组,第一组取a个1,第二组取b个1,第三组取c个1,由于第二,第三组都不能取到空,所以添加2块板
设取到第10个板时,第二组取空,即b=0;取到第11个板时,第三组取空,即c=0。所以一共有c11 3=165
============================================
c 选板法
例6: 有10粒糖,如果每天至少吃一粒(多不限),吃完为止,求有多少种不同吃法?
o - o - o - o - o - o - o - o - o - o o代表10个糖,-代表9块板
10块糖,9个空,插入9块板,每个板都可以选择放或是不放,相邻两个板间的糖一天吃掉
这样一共就是 2^9= 512啦
=============================================
d 分类插板
例7: 小梅有15块糖,如果每天至少吃3块,吃完为止,那么共有多少种不同的吃法?
此问题不能用插板法的原因在于没有规定一定要吃几天,因此我们需要对吃的天数进行分类讨论
最多吃5天,最少吃1天
1: 吃1天或是5天,各一种吃法 一共2种情况
2:吃2天,每天预先吃2块,即问11块糖,每天至少吃1块,吃2天,几种情况? c10 1=10
3:吃3天,每天预先吃2块,即问9块糖,每天至少1块,吃3天? c8 2=28
4:吃4天,每天预先吃2块,即问7块糖,每天至少1块,吃4天?c6 3=20
所以一共是 2+10+28+20=60 种
=================================
e 二次插板法
例8 :在一张节目单中原有6个节目,若保持这些节目相对次序不变,再添加3个节目,共有几种情况?
-o - o - o - o - o - o - 三个节目abc
可以用一个节目去插7个空位,再用第二个节目去插8个空位,用最后个节目去插9个空位
所以一共是 c7 1×c8 1×c9 1=504种
4.
a+b+c+..<=n
a+b+c<=10
x=a+1,y=b+1,z=c+1,则 x,y,z为正整数 x+y+z<=13
0- 0- 0- 0- 0 -0 -0 -0 -0 -0- 0- 0 -0- 0代表13个1,-代表空位
13个空 选3个插入3板,13个1被分成4部分,前3部分分别对应x,y,z
满足x,y,z>=1,且x+y+z<=13, 共有 c13 3=286种
一个xyz与一个abc唯一对应,所以共有286个abc
a+b+c+d<=10
x=a+1,y=b+1,z=c+1,t=d+1,x,y,z,t为正整数,x+y+z+t<=14
分析方法同上,需要从14个空选4个
c14 4=1001
5.
n种元素 (每种元素足够多) 选m个的公式:
c(n+m-1,m)
幼儿园买来9种不同的书籍,每个小朋友领3本,问至少几个小朋友领过后,一定会出现两个小朋友领的书是相同的?
C11 3 +1=166
6.(不)相同球放(不)相同盒
1:8个相同的球放进3个相同的盒子里,每盒至少一个,有几种方法
取球最少的盒子取1,取球第二少的盒子可以取[1,3] 3种
取球最少的盒子取2,取球第二少的盒子可以取[2,3] 2种
取球最少的盒子取3,此情况不存在,一共5种
按取球多寡来分类讨论可以做到不遗漏,不重复
-------------------------------------------------------------------------
2:8个相同的球放进3个不同的盒子里,每盒至少一个,有几种方法
插板法,c7 2=21
--------------------------------------------------------------------------
4:8个不同的球放进3个相同的盒子里,每盒至少一个,有几种方法
取球最少盒子取1时,有116,125,134三种情况,分别有c8 6=28, c8 1*c7 2=168, c8 1*c73=280
取球最少盒子取2时,有224,233二种情况,分别有c82*c62/2=210,c83×c53/2=280
一共28+168+280+210+280=966
-------------------------------------------------------------------------------
3:8个不同的球放进3个不同的盒子里,每盒至少一个,有几种方法
4问中的966种情况,每种情况的三个元素都是互异的,比如 116(因为球是不同的),这三个元素进行全排列p33=6,乘以966=5796即为所求
------------------------------------------------------------------------------------
5:8个相同的球放进3个相同的盒子里,有几种方法
最少盒子取0,次盒子取[0,4]
最少盒子取1,次盒子取[1,3]
最少盒子取2,次盒子取[2,3]
一共5+3+2=10种
------------------------------------------------------------------------------
6:8个相同的球放进3个不同的盒子里,有几种方法
预先在三个盒子种各放入一小球,则问题转化为11同球放3不同盒子,每盒至少1个,几种方法? 用插板法,c10 2=45
----------------------------------------------------------------------------
7:8个不同的球放进3个不同的盒子里,有几种方法
每个球都有3种选择,8个球就有3^8=6561
-----------------------------------------------------------------------------
8:8个不同的球放进3个相同的盒子里,有几种方法
7问中的一般情况(3个元素都相异),比如116,一共有6种排列(球是不同的),此问中,盒子是相同的,因此这6种排列都只算一种情况。
但如果2个元素相同的时候,有且只有 008,只有3种排列,我们多添加3种进去,令其也重复6次,则(6561+3)就是 所有的情况都重复了6次,(6561+3)/6=1094即为所求。
7.
容斥原理
五个人排成一排,甲不在排头,乙不在正中间,丙不在排尾的,问共有几种排法?
甲不在排头,乙不在正中间,丙不在排尾的情况有x种
题干的否命题是甲在排头(a)或 乙在中间(b)或丙在排尾(c),对应情况为y
x+y=A55 (所有的情况)
y=a并b并c
a并b并c=a+b+c-a交b-a交c-b交c+a交b交c (三集合容斥原理)
=3A44-3A33+A22=56
x=A55-y=120-56=64
8.
奇数位和-偶数位和=11x
任写一个六位数,把它的个位数字拿到这个数的最左边得到一个新的六位数(0除外),再与原数相加,下面四个数可能正确的是()?
a,172536 b,568741 c,620708 d,845267
奇数位和-偶数位和=11x (可被11整除)
任写一个七位数,把它的个位数字拿到这个数的最左边得到一个新的七位数(0除外),再与原数相加,下面四个数可能正确的是()?
a,1725361 b,5687418 c,9420708 d,9097035
---------------
设此七位数 n=abcdefx,abcdefx+xabcdef= t,t的最高位减x,最低位减x
abcdefx------------abcdef
xabcdef----------+ abcdef 得到的数被11整除
七位数最高最低位都是奇数,奇数位和-偶数位和-2x=11y
--------------
d 9+9+0+5-(0+7+3)=13,13-2*1=11
x=1,abcdef=8097034/11=736094
n=7360941
9.
特殊的余数问题还有个小口诀
1:和同加和
2:余同加余
3:差同减差 (公倍数作周期)
例2:一个数除以5余2除以4余3,除以9余7,满足条件的三位数有几个?
5+2=4+3 此为和同,因此 x=20a+7 (20为公倍数,+7为加和)
x=20a+7=9b+7,此为余同,因此x=180n+7 (180为公倍数,+7为加余)
n 取 [1,5] 共5个
-----------------------------------------
例3:一个数除以5余1,除以6余2,满足条件的三位数有几个?
x=5a+1=6b+2
5-1=6-2=4, 此为差同,因此x=30n-4
n取 [4,33] 共30个