排列组合基本公式
2015-10-06 15:27
525 查看
基本原理
1.加法原理
集合S=s1∪s2∪s3..sm且si∩sj=∅(i<>j)则s=s1+s2+s3..sm
2.乘法原理
s(a,b)取a有p种,取b有q种
s=p*q
公式
1.对于集合s(没有重复元素):
从s中n个元素中取r个排列的方案数p(n,r)=n!/(n-r)!从s中n个元素中取r个组合的方案数c(n,r)=n!/(n-r)!r!
定理:1.c(n,r)=c(n,n-r)
2.c(n,0)+c(n,1)+c(n,2)...+c(n,n)=2^n
从二进制角度理解
有n个0
00000000000
c(n,r)就是从n个0中去r个0赋值为1
显然每一种取法都对应一个二进制数,从0000000(n个)到1111111(n个),转换位十进制从0到2^n-1,一共2^n个数
2.对于多重集
如果S是一个多重集,那么S的一个r排列是S的r个元素的一个有序排放.如果S的元素总个数是n(包含计算重复),那么S的n排列也将称为S的全排列.例如,如果S={2•a,1•b,3•c}那么acbc,cbcc都是4排列.可重复的排列
如果S是一个多重集,它有K个不同的类型元素,每一个元素都有无穷重复个数,那么,S的r排列个数为k^r如果S是一个多重集,它有K个不同的类型元素,各元素分别为n1,n2,…,nk个,那么,S的r排列个数为
n!/(n1!*n2!*…*nr!)
可重复的组合
设S是一个具有k种类型元素的多重集,每种元素均具有无限的重复数.则S的r-组合数为c(r+k-1,r).相关文章推荐
- C#查找字符串所有排列组合的方法
- PICT3.3用户指南学习笔记
- 变态组合数C(n,m)求解
- NOIP复习计划
- TYVJ1193 括号序列解题报告
- 对DP的一点感想
- wikioi1004 四子连棋 解题报告
- TYVJ P1870 [NOIP1998P2]阶乘和
- HDU 1063 Exponentiation
- ~二分答案~
- 我自己的noip复习(实时更新)
- NOIP2009 最优贸易
- 一道hash题
- NOIP2007 树网的核
- [BZOJ1211][HNOI2004][prufer序列][排列]树的计数
- c++ The compile error : unresolved overloaded funciton type
- 任意数字序列“123456”之类,输出它们所有的排列组合
- c# 全排列算法
- Noip 2014 提高组复赛 解题报告
- NOIP 2009提高组,迟来的题解.