随笔分类 - 组合数学
数学
摘要:集合的组合(子集)设S是n元素集合。集合S的一个组合通常表示集合S的元素的一个无序选择。这样一个选择的结果是S的元素构成的一个子集。因此,S的一个组合就是S的子集的一个选择。因此,术语组合与子集本质上是可以互换的,通常我们使用更熟悉的子集而不使用略显笨拙的组合,除非要强调选择的过程。 我们用 表示n
阅读全文
摘要:卡特兰数列(Catalan )简述卡特兰数又称卡塔兰数,它是组合数学中一个常出现在各种计数问题中出现的数列,其前几项为 : 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, ......公式1.递归公式12.递归公式2 3
阅读全文
摘要:走楼梯问题题目:有一座高度是10级台阶的楼梯,从下往上走,每跨一步只能向上1级或者2级台阶。要求用程序来求出一共有多少种走法。比如,每次走1级台阶,一共走10步,这是其中一种走法。我们可以简写成 1,1,1,1,1,1,1,1,1,1。再比如,每次走2级台阶,一共走5步,这是另一种走法。我们可以简写
阅读全文
摘要:排列的概念排列,一般地,从n个不同元素中取出m(m≤n)个元素,按照一定的顺序排成一列,叫做从n个元素中取出m个元素的一个排列(permutation)。特别地,当m=n时,这个排列被称作全排列(all permutation)。排列数p(n,r)=n!/(n-r)!,p(n,n)=n!,0!=1从
阅读全文
摘要:加法原理设事件A有m种产生方式,事件B有n种产生方式,当事件A与事件B产生方式不重叠时,事件A或事件B的产生方式有m+n种。用集合方法描述这个问题可以这样说: 乘法原理 设事件A有m种产生方式,事件B有n种产生方式,当事件A与事件B产生方式彼此独立,事件A与事件B的产生方式有mn种。用集合方法描述这
阅读全文
摘要:P1102 A-B 数对 #include<map> #include<iostream> #include<vector> using namespace std; map<int,int> m; vector <int> ma; long long ans=0; int main() { int
阅读全文