如果有发现我侵犯版权,请邮箱联系334806478@qq.com,我随时在
首先讲几个概念:
- 加法原理:一个问题,分为几个部分完成,各个部分的方案数是 a 1 , a 2 . . . a n a_1,a_2...a_n a1,a2...an,那么总情况数就是 ∑ i = 1 n a i \sum\limits_{i=1}^{n}a_i i=1∑nai(全部加起来)
- 乘法原理:一个问题,分为几个步骤完成,各个步骤的方案数是 a 1 , a 2 . . . a n a_1,a_2...a_n a1,a2...an,那么总情况数就是 ∏ i = 1 n a i \prod\limits_{i=1}^{n}a_i i=1∏nai(全部乘起来)
- 排列: A m n A_{m}^{n} Amn表示从 m m m个物品中选 n n n个,有序(即 1 , 2 1,2 1,2和 2 , 1 2,1 2,1不同),的情况数。我们知道 A m n = m ∗ ( m − 1 ) ∗ ( m − 2 ) . . . ∗ ( m − n + 1 ) A_{m}^{n}=m*(m-1)*(m-2)...*(m-n+1) Amn=m∗(m−1)∗(m−2)...∗(m−n+1)。(从 m m m往后连续乘 n n n个)
- 组合: C m n C_{m}^{n} Cmn表示从 m m m个物品中选 n n n个,无序(即 1 , 2 1,2 1,2和 2 , 1 2,1 2,1一样),的情况数。我们知道 C m n = A m n m ! C_{m}^{n}=\frac{A_{m}^{n}}{m!} Cmn=m!Amn(相当于对排列做去重)信息学中还学过很多关于组合数的东西,比如卢卡斯定理(组合数取余数),帕斯卡定理(组合数递推),二项式定理(求 ( a + b ) n (a+b)^n (a+b)n的各项系数)等。
看起来很水对不对,那么如何应用呢。。。
允许我从原数第一章中选一些(很多)例题,换一种说法(不改变原意思),和大家讲解一下
例1. 在
0
,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
{0,1,2,3,4,5,6,7,8,9}
0,1,2,3,4,5,6,7,8,9中无序选三个数,使得和为
>
=
10
>=10
>=10的偶数,有多少种方案?
思路:
考虑到和为偶数,而且是三个数,那么就是两种情况:
1.两个奇数,一个偶数
奇数,偶数都是
5
5
5个,显然。如果我们不考虑
>
=
10
>=10
>=10,就是
C
5
2
∗
C
5
1
=
50
C_5^2*C_5^1=50
C52∗C51=50种
2. 都是偶数 显然是
C
5
3
=
10
C_5^3=10
C53=10种。
这样总共就是
50
+
10
=
60
50+10=60
50+10=60种。
然后我们要考虑
>
=
10
>=10
>=10这个条件了。发现集合里面的数都比较小,所以我们就暴力枚举
<
10
<10
<10的数,然后用
60
60
60减掉即珂。
那么,有几个的和小于
10
10
10,且是偶数呢?也是分情况暴力。
-
两个奇数,一个偶数
那肯定是先枚举偶数了。
1.1 包含 0 0 0
( 0 , 1 , 3 ) , ( 0 , 1 , 5 ) , ( 0 , 1 , 7 ) , ( 0 , 3 , 5 ) (0,1,3),(0,1,5),(0,1,7),(0,3,5) (0,1,3),(0,1,5),(0,1,7),(0,3,5)
1.2 包含 2 2 2
( 2 , 1 , 3 ) , ( 2 , 1 , 5 ) (2,1,3),(2,1,5) (2,1,3),(2,1,5)
1.3 包含 4 4 4
( 4 , 1 , 3 ) (4,1,3) (4,1,3) -
三个偶数
( 0 , 2 , 4 ) , ( 0 , 2 , 6 ) (0,2,4),(0,2,6) (0,2,4),(0,2,6)
一共是
4
+
2
+
1
+
2
=
9
4+2+1+2=9
4+2+1+2=9种。
所以,这题的答案是:
60
−
9
=
51
60-9=51
60−9=51种。
(由于是例题,我就不写标准过程了,get到思路即珂)
(所以,概念是水的,到做题的时候还是要灵活)
例2. 一个正六边形上的六个顶点 A , B , C , D , E , F A,B,C,D,E,F A,B,C,D,E,F排成一个环(按顺时针顺序分别为: A , F , E , D , C , B A,F,E,D,C,B A,F,E,D,C,B)。一只青 W A WA WA从点 A A A出发,要跳 5 5 5步。当然,如果跳到了点 D D D(提示: D D D在 A A A对面),不管跳了几步,都会停止。问不同的跳法多少。
解:
考虑到
D
D
D只珂能
3
,
5
3,5
3,5步到达,分两种情况:
- 三步到 D D D。此时有 2 2 2种。
- 三步没到
D
D
D,走
5
5
5步。
考虑到走每一步都有两个邻接点珂以选,所以走 k k k步的不同走法数是 2 k 2^k 2k。
走 3 3 3步共 8 8 8种。但是不能到 D D D,那就只剩下 8 − 2 = 6 8-2=6 8−2=6种。
然后再走两步的情况是 4 4 4种。那么此时就是 6 ∗ 4 = 24 6*4=24 6∗4=24种。
故共有 2 + 24 = 26 2+24=26 2+24=26种。
- 有一个数列
a
1
,
a
2
,
a
3
,
a
4
,
a
5
a_1,a_2,a_3,a_4,a_5
a1,a2,a3,a4,a5,五个数都是
−
1
,
0
或
1
-1,0或1
−1,0或1。请统计
1
≤
∣
a
1
∣
+
∣
a
2
∣
+
∣
a
3
∣
+
∣
a
4
∣
+
∣
a
5
∣
≤
3
1\le|a_1|+|a_2|+|a_3|+|a_4|+|a_5|\le3
1≤∣a1∣+∣a2∣+∣a3∣+∣a4∣+∣a5∣≤3的不同的
a
a
a有多少?
解:(不就 3 5 3^5 35么,暴力枚举。。。)
观察到每个数都是 − 1 , 0 , 1 -1,0,1 −1,0,1,那么绝对值就只有 0 0 0和 1 1 1两种了。
因为绝对值的和间于 [ 1 , 3 ] [1,3] [1,3]之间,那么就自然想到分三种情况:- 有一个
±
1
\pm1
±1,别的都
0
0
0
分两步。
1.1 找位置:一个数,五个空, C 5 1 C_{5}^{1} C51个不同的位置
1.2 确定了位置情况下,方案数:每个都 + 1 , − 1 +1,-1 +1,−1两种,总共就是 2 1 = 2 2^1=2 21=2种
此时就是 5 ∗ 2 = 10 5*2=10 5∗2=10种。 - 有两个
±
1
\pm1
±1,别的都
0
0
0
和1类似,情况数就是 C 5 2 ∗ 2 2 = 10 ∗ 4 = 40 C_{5}^{2}*2^2=10*4=40 C52∗22=10∗4=40 - C 5 3 ∗ 2 3 = 10 ∗ 8 = 80 C_{5}^{3}*2^3=10*8=80 C53∗23=10∗8=80
- 有一个
±
1
\pm1
±1,别的都
0
0
0
根据加法原理,1.2.3.加起来,答案就是 10 + 40 + 80 = 130 10+40+80=130 10+40+80=130种。
4.某工厂要挑
3
3
3个钳工,
3
3
3个车工(车工=老司机)。现在有
12
12
12人可供挑选,
5
5
5个是钳工,
5
5
5个是车工,
2
2
2个啥都会。求方案数。
解:
如果没有那两个啥都会的,那我们肯定会求:
C
5
3
∗
C
5
3
=
100
C_5^3*C_5^3=100
C53∗C53=100种。
珂是那两个啥都会的是妨碍咱的渣渣。所以,有一个很明显的思路:枚举这两个人的状态,用加法原理加起来。
1. 忽略这俩人。此时
100
100
100种,上已求
2. 一个做钳工,另一个忽略。此时,选一个人去做钳工有
C
2
1
=
2
C_2^1=2
C21=2种,钳工里面有
5
5
5个人(除了选出来那个),还要在选两个,就是
C
5
2
=
10
C_5^2=10
C52=10种,然后选
3
3
3个车工
C
5
3
=
10
C_5^3=10
C53=10种,就是
2
∗
10
∗
10
=
200
2*10*10=200
2∗10∗10=200种。
3. 一个做车工,另一个忽略。和2.本质上是一样的,也是
200
200
200种。
4. 都去当钳工。钳工还要选
1
1
1个,
C
5
1
=
5
C_5^1=5
C51=5种,算上车工
C
5
3
=
10
C_5^3=10
C53=10种,就是
50
50
50种。
5. 都去当车工。和4.本质上是一样的,也是
50
50
50种。
6. 一个车工,一个钳工。首先排列就有
2
2
2种,“钳车"或"车钳”。然后钳工,车工都还要选
2
2
2人,就是
C
5
2
∗
C
5
2
=
100
C_5^2*C_5^2=100
C52∗C52=100种,一共就
2
∗
100
=
200
2*100=200
2∗100=200种。
加起来,就是 100 + 200 + 200 + 50 + 50 + 200 = 800 100+200+200+50+50+200=800 100+200+200+50+50+200=800种。