杨辉三角与二项式定理

(紫书p349)

杨辉三角性质via百度百科

杨辉三角与组合数

EG1 noip2011 d2t1 计算系数

给定一个多项式(by+ax)^k,请求出多项式展开后x^n*y^m 项的系数。

注意下标数字的细节

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<algorithm>
 4 using namespace std;
 5 #define ll long long
 6 #define MOD 10007
 7 #define maxk 1050
 8 ll a,b,x,y,k,n,m;
 9 ll chart[maxk][maxk];
10 inline void pre(){
11     memset(chart,0,sizeof(chart));
12     for (ll i=1;i<=k+1;i++)
13       for (ll j=1;j<=i;j++){
14           if (j==1||j==i) chart[i][j]=1;
15           else chart[i][j]=(chart[i-1][j-1]+chart[i-1][j])%MOD;
16       }
17 }
18 int main(){
19     scanf("%lld%lld%lld%lld%lld",&a,&b,&k,&n,&m);
20     pre();
21     ll ans=chart[k+1][n+1]%MOD;
22     a%=MOD,b%=MOD;
23     for (ll i=1;i<=n;i++) ans=ans*a%MOD;
24     for (ll i=1;i<=m;i++) ans=ans*b%MOD;
25     ans%=MOD;
26     printf("%lld",ans);
27     return 0;
28 }

View Code

EG2 noip2017 d2t1组合数problem

题意:求对于所有的0 <= i <= n,0 <= j <= min(i,m),有多少对 (i,j)满足C(i,j)​​是k的倍数。

先预处理出n=2000内的组合数,对于符合条件的个数,维护二维前缀和

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<cmath>
 4 #include<algorithm>
 5 #define mx 2333
 6 using namespace std;
 7 int t,k;
 8 int n,m;
 9 int c[mx][mx],s[mx][mx];
10 void chart(){//节省空间,直接%k判断是否k的倍数
11     for (int i=0;i<=2000;i++){
12         for (int j=0;j<=i;j++){
13             if (i==0&&j==0) c[i][j]=1%k;
14             else c[i][j]=(c[i-1][j-1]+c[i-1][j])%k;
15         }
16     }
17 }
18 void getsum(){//维护二维前缀和
19     memset(s,0,sizeof(s));
20     for (int i=0;i<=2000;i++)
21       for (int j=0;j<=i;j++){
22           if ((!i)&&(!j)) s[i][j]=0;
23           else{
24               if ((!i)||i==j){
25                   s[i][j]=s[i][j-1];
26                   if (!c[i][j]) s[i][j]++;
27               }
28             else if (!j){
29                 s[i][j]=s[i-1][j];
30                 if (!c[i][j]) s[i][j]++;
31             }
32             else {
33                 s[i][j]=s[i-1][j]+s[i][j-1]-s[i-1][j-1];
34                 if (!c[i][j]) s[i][j]++;
35             }
36           }
37       }
38
39 }
40 int main(){
41     scanf("%d%d",&t,&k);
42     chart();
43     getsum();
44     while (t--){
45         scanf("%d%d",&n,&m);
46         printf("%d\n",s[n][min(n,m)]);
47     }
48     return 0;
49 } 

View Code

转载于:https://www.cnblogs.com/vincent-hwh/p/7580736.html

杨辉三角(二项式定理)组合数 【noip 2011/2016 d2t1】相关推荐

  1. 杨辉三角、组合数 性质的探究

    1.每个数等于它上方两数之和. :可用于dp.前缀和 2.每行数字左右对称,由1开始逐渐变大. :可用于简化递推.优化 3.第n行的数字有n项. :可用于dp.循环的上下界确定. 第n行数字和为2n- ...

  2. 杨辉三角(组合数)+排列组合

    洛谷P2638 (一道虐我的数学题,今天太累了,就简单聊聊思想核心) 题目如下: 特斯拉公司的六位密码被轻松破解后,引发了人们对电动车的安全性能的怀疑.李华听闻后,自己设计了一套密码:假设安全系统中有 ...

  3. C语言杨辉三角(组合数)

    在杨辉三角中每个数字都是上方与它相邻的两个数之和,实际上也可以用组合总数表示 #include<stdio.h> //定义阶乘 int factor(int i) {int j,sum=1 ...

  4. 【算法竞赛】杨辉三角 | 杨辉三角与组合数的关系 | 杨辉三角的算法应用 | c++代码实现公式获取杨辉三角位置的值

    杨辉三角详解 杨辉三角是什么? 杨慧三角是二项式系数在三角形中的一种集合排列!! 换一种说法: 杨辉三角是二项式系数, 通过数据三角形表示, 发现的数学规律. 杨辉三角与二项式系数联系 定义: 在数学 ...

  5. 【高中数学选修2-3】排列,组合,二项式定理,杨辉三角

    1.排列 1.1什么是排列? 排列,一般地,从n个不同元素中取出m(m≤n)个元素,然后按照一定的顺序排成一列,叫做从n个元素中取出m个元素的一个排列.特别地,当m=n时,这个排列被称作全排列. 排列 ...

  6. 【组合数学】二项式定理与组合恒等式 ( 二项式定理 | 三个组合恒等式 递推式 | 递推式 1 | 递推式 2 | 递推式 3 帕斯卡/杨辉三角公式 | 组合分析方法 | 递推式组合恒等式特点 )

    文章目录 一.二项式定理 二.组合恒等式 ( 递推式 1 ) 三.组合恒等式 ( 递推式 2 ) 四.组合恒等式 ( 递推式 3 ) 帕斯卡 / 杨辉三角公式 五.组合分析方法 六.递推式组合恒等式特 ...

  7. 二项式定理与杨辉三角

    (a + b)2 = a2 + 2ab + b2 (a + b)3 = a3 + 3a2b + 3ab2 + b3 (a + b)4 = a4 + 4a3b + 6a2b2 + 6ab3 + b4 ( ...

  8. 51nod 1118 机器人走方格 解题思路:动态规划 1119 机器人走方格 V2 解题思路:根据杨辉三角转化问题为组合数和求逆元问题

    51nod 1118 机器人走方格: 思路:这是一道简单题,很容易就看出用动态规划扫一遍就可以得到结果, 时间复杂度O(m*n).运算量1000*1000 = 1000000,很明显不会超时. 递推式 ...

  9. 杨辉三角与二项式定理

    杨辉三角的数字和二项式展开的系数有对应关系,如下图: 通过二项式定理:,我们可以用杨辉三角形的性质来求组合数.时间复杂度O(n^2) int n; ll c[maxn][maxn]; void ini ...

最新文章

  1. 【UER #8】打雪仗
  2. 最短路计数(spfa)
  3. android 如何使用Parcelable接口
  4. java时序图工具_基于时序数据库,实现百亿级话单实时全景监控分析
  5. C 学习笔记 - 数组
  6. burp的intruder报错Payload set 1: Invalid number settings
  7. 设置同时上内外网+文件共享
  8. express使用JWT和httpOnly cookie进行安全验证
  9. 2020年12月国产数据库排行:榜首TiDB 2.7亿融资再破纪录;openGauss晋级十强!
  10. c语言定义一个strcmp函数,定义一个strcmp函数实现两个字符串比较,函数原型为int strcmp(char * p1,...
  11. 博弈论(一)基本概念
  12. 某班的成绩出来了,现在老师要把班级的成绩打印出来,和 显示当前时间
  13. 牛客网华为机试题整理
  14. Java算法与数据结构、设计模式、高并发视频教程免费下载
  15. 量子世界的测不准定律
  16. 学习ROS初始遇到的各种问题及解决方法
  17. 9343拆机 xps13_《拆机Pa》十二期 第二代XPS 13是进步还是退步
  18. mysql数据库实验+cmd界面运行基本操作总结(sql:数据增删改查,表格,视图,备份恢复)
  19. Python检测数据不完整的JPG图片
  20. [日志]电脑开不了机修理

热门文章

  1. python 赋值操作的知识点
  2. ajaxpro定时刷新页面
  3. 【转载】使用Epoll的框架例子二
  4. python字符串的10个常用方法总结
  5. thymealf 高级用法_史上最详 Thymeleaf 使用教程
  6. Spring-@value用法详解与苏宁框架vars的解释
  7. Coin98 Finance获Alameda Research 400万美元投资
  8. Blockchair首席开发者质疑闪电网络能够扩展比特币:可锁定大部分闪电网络的流动性来破坏闪电网络
  9. SAP License:PO中“最终发票”的应用与理解
  10. 【Kafka】《Kafka权威指南》入门