随笔分类 - 数学-组合
摘要:贴一个板子(之前快手笔试的时候写错了..奇耻大辱) 先给出两个公式:$C^{n}_{m} = \frac{m!}{m!(m-n)!}$以及 $C^{n}_{m} = C^{n-1}_{m-1} + C^{n}_{m-1}$ 计算代码如下: int mat[1001][1001]; int combi
阅读全文
摘要:先和第二类做一个对比 第一类Stirling数是有正负的,其绝对值是包含n个元素的集合分作k个环排列的方法数目。递推公式为, S(n,0) = 0, S(1,1) = 1. S(n+1,k) = S(n,k-1) + nS(n,k)。 边界条件: S(0 , 0) = 1 S(p , 0) = 0
阅读全文
摘要:题意:给定n个人,要求这n个人的所有可能排名情况,可以多个人并列(这个是关键)。 题解:由于存在并列的问题,那么对于n个人,我们最多有n个排名,枚举一下1~n,累加一下就好。(注意这里是变种的斯特林数——每个子集合是可互相区分的)。 ac代码:
阅读全文
摘要:题意:有m种字符,要求构造两段长度为n的字符串,其中这两段不能有相同的字符 枚举左边选了i种字符,右边可以选1,2....min(n,m-i)种字符 这样就把问题转化为用k种字符构造n长度的字符串的种类有多少种。 第二类stirling数是指将基数为n的集合分为恰好k个(不做区分)非空集合的方法数。
阅读全文
摘要:一.第二类Stirling数 定理:第二类Stirling数S(p,k)计数的是把p元素集合划分到k个不可区分的盒子里且没有空盒子的划分个数。 证明:元素在哪些盒子并不重要,唯一重要的是各个盒子里装的是什么,而不管哪个盒子装了什么。 递推公式有:S(p,p)=1 (p>=0) S(p,0)=0 (p
阅读全文
摘要:题意:如果一个子序列的GCD为1,那么这个子序列的价值为0,否则子序列价值为子序列长度*子序列GCD 给出n个数,求这n个数所有子序列的价值和 题解:首先得想到去处理量比较少的数据的贡献,这里处理每个gcd的贡献。我们定义f(i)为gcd==i的倍数时的贡献,那么f(i)=c(0,n)*0+c(1,
阅读全文
摘要:知识点: n个元素,其中a1,a2,····,an互不相同,进行全排列,可得n!个不同的排列。 若其中某一元素ai重复了ni次,全排列出来必有重复元素,其中真正不同的排列数应为 ,即其重复度为ni! 同理a1重复了n1次,a2重复了n2次,····,ak重复了nk次,n1+n2+····+nk=n。
阅读全文