UVA - 10105 Polynomial Coefficients 二项式定理和杨辉三角
来源:互联网 发布:北师大网络教育作业 编辑:程序博客网 时间:2024/05/21 06:30
题目大意:给出一个(x1 + x2 + x3 + ... + xK)^n式子,要你求出这个式子进行展开后其中一项(x1)^n1(x2)^n2 ... (xk)^nk的系数是多少
解题思路:如果换成(a+b)^n的这种类型的,求其中一项的系数是多少就很简单了,可以用二项式定理解决,而杨辉三角的每行记录的刚好是展开后的每个系数。
但因为里面有很多个,所以不能用二项式定理,那就想办法用二项式定理。
将前面的k-1个的和看成T,则式子就变成了(T+xk)^n,这样的话就可以得到T^m * (xk)^nk这项的系数了。
而这时m的话是可以求出来的,m = n - nk(由二项式公式得)。
然后继续展开(T)^n-nk次方,这时将T变成前k-2的和P加上n(k-1),就变成了(P+n(k-1))^(n-kn),然后仿照上面的,即可得到最后的系数了
#include<cstdio>#define maxn 20int c[maxn][maxn], t[maxn];void init() {c[0][0] = c[1][0] = c[1][1] = 1;for(int i = 2; i <= 13; i++) {c[i][0] = c[i][i] = 1;for(int j = 1; j < i; j++)c[i][j] = c[i-1][j-1] + c[i-1][j];}}int main() {int n, k;init();while(scanf("%d%d",&n, &k) == 2) {for(int i = 1; i <= k; i++)scanf("%d",&t[i]);int cur = k;long long ans = 1;while(cur >= 1) {ans *= c[n][t[cur]];n -= t[cur];cur--;}printf("%lld\n",ans);}return 0;}
0 0
- UVA - 10105 Polynomial Coefficients 二项式定理和杨辉三角
- UVa:10105 Polynomial Coefficients(多项式定理)
- uva 10105 polynomial coefficients
- UVA 10105 - Polynomial Coefficients
- UVA 10105 - Polynomial Coefficients
- UVA - 10105 Polynomial Coefficients
- UVA 10105 Polynomial Coefficients
- UVA - 10105 Polynomial Coefficients
- UVa 10105 - Polynomial Coefficients
- 杨辉三角和二项式定理
- 杨辉三角&二项式定理
- 杨辉三角/二项式定理
- 二项式定理 & 杨辉三角
- UVA 10105 Polynomial Coefficients(数论)
- UVa 10105 - Polynomial Coefficients (排列组合)
- 杨辉三角与二项式定理
- 杨辉三角与二项式定理
- UVa Problem Solution: 10105 - Polynomial Coefficients
- The GNU Manifesto
- boost::shared_ptr在类和容器中使用
- 基于IBM Bluemix开发微信公共账号应用
- 15.图层性能---iOS-Core-Animation-Advanced-Techniques
- [点点搬家]中文问题
- UVA - 10105 Polynomial Coefficients 二项式定理和杨辉三角
- 使用eclipse 编译cocos2d-x
- spring中涉及quartz的配置
- android md5加密与php md5加密一致
- object-c代理
- UIView的autoresizingMask属性测试总结
- #ifdef、#else、#endif的运用---极为方便的全局变量的定义和声明
- JQueryAjax使用SpringMVC中MultipartFile进行文件上传的整合
- 【北京外企】法企金雅拓招聘嵌入式软件开发工程师