码迷,mamicode.com
首页 > 其他好文 > 详细

组合数问题

时间:2020-06-20 16:12:09      阅读:62      评论:0      收藏:0      [点我收藏+]

标签:怎么   线段   问题   变换   map   组合数   时间复杂度   复杂   使用   

考场上忘了怎么拆c(a,b)*c(c,a)......

后来随便想就想出来了...
先列出答案式子:
$\sum_{i=0}^{n}C_n^if(i)x^i$
f拆开
$\sum_{i=0}^{n}C_n^ix^i\sum_{j=0}^{m}a[j]i^j$
斯特林数拆后面
$\sum_{i=0}^{n}C_n^ix^i\sum_{j=0}^{m}a[j]\sum_{k=j}^{m}s(j,k)\frac{i!}{(i-k)!}$
上下乘k
$\sum_{i=0}^{n}C_n^ix^i\sum_{j=0}^{m}a[j]\sum_{k=j}^{m}k!s(j,k)\frac{i!}{(i-k)!k!}$
变成组合数
$\sum_{i=0}^{n}C_n^ix^i\sum_{j=0}^{m}a[j]\sum_{k=j}^{m}k!s(j,k)C_i^k$
交换和式
$\sum_{j=0}^{m}a[j]\sum_{k=j}^{m}k!s(j,k)\sum_{i=0}^{n}C_i^kC_n^ix^i$
考场上卡在这一步。。。
有一个公式:
$C_a^b*C_c^a=C_c^bC_{c-b}^{a-b}$
用公式化简最后的组合数:
$\sum_{j=0}^{m}a[j]\sum_{k=j}^{m}k!s(j,k)\sum_{i=0}^{n}C_n^kC_{n-k}^{i-k}x^i$
再次变换和式
$\sum_{j=0}^{m}a[j]\sum_{k=j}^{m}k!s(j,k)C_n^k\sum_{i=0}^{n}C_{n-k}^{i-k}x^i$
调整下界
$\sum_{j=0}^{m}a[j]\sum_{k=j}^{m}k!s(j,k)C_n^k\sum_{i=k}^{n}C_{n-k}^{i-k}x^i$
调整后面的和式
$\sum_{j=0}^{m}a[j]\sum_{k=j}^{m}k!s(j,k)C_n^kx^k\sum_{i=k}^{n}C_{n-k}^{i-k}x^{i-k}$
二项式展开公式:
$(x+1)^k=\sum_{i=0}^{k}x^kC_k^i$
后面的和式上下界同时减去k
$\sum_{j=0}^{m}a[j]\sum_{k=0}^{j}k!s(j,k)C_n^kx^k\sum_{i=0}^{n-k}C_{n-k}^{i}x^{i}$
二项式展开
$\sum_{j=0}^{m}a[j]\sum_{k=0}^{j}k!s(j,k)C_n^k(x+1)^k$
问题转变求$C_{n}^{0...m}$m+1个组合数的值
如果暴力求c时间复杂度很高。
但是发现相邻两个组合数$C_{n}^{i}$和$C_{n}^{i+1}$的公式只差了两个数。分解质因数后用线段树维护即可。

质因数可能较大,使用map编号。

组合数问题

标签:怎么   线段   问题   变换   map   组合数   时间复杂度   复杂   使用   

原文地址:https://www.cnblogs.com/cszmc2004/p/13168756.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!