关闭

杨辉三角的一些性质

标签: 杨辉三角杭电
579人阅读 评论(0) 收藏 举报
分类:

这里写图片描述
与通项公式的联系:
这里写图片描述
对于n>=1,适用这个公式
每行的行号为n+1
第n+1行的每一行的数为:C(n,0),C(n,1)……C(n,n)

每个数字等于上一行的左右两个数字之和。可用此性质写出整个杨辉三角。即第n+1行的第i个数等于第n行的第i-1个数和第i个数之和,这也是组合数的性质之一。即 C(n+1,i)=C(n,i)+C(n,i-1)。

例子:

                        循环多少次?

Problem Description
我们知道,在编程中,我们时常需要考虑到时间复杂度,特别是对于循环的部分。例如,
如果代码中出现
for(i=1;i<=n;i++) OP ;
那么做了n次OP运算,如果代码中出现
fori=1;i<=n; i++)
for(j=i+1;j<=n; j++) OP;
那么做了n*(n-1)/2 次OP 操作。
现在给你已知有m层for循环操作,且每次for中变量的起始值是上一个变量的起始值+1(第一个变量的起始值是1),终止值都是一个输入的n,问最后OP有总共多少计算量。

Input
有T组case,T<=10000。每个case有两个整数m和n,0大于m小于2000,0大于n小于2000.

Output
对于每个case,输出一个值,表示总的计算量,也许这个数字很大,那么你只需要输出除1007留下的余数即可。

Sample Input
2
1 3
2 3

Sample Output
3
3

分析:
这里的n就相当于n,第n行,m相当于第几个数

# include <iostream>
# include <cstdio>

using namespace std;
    int a[3000][3000];
int main(){

    int m,n,T;
    int i,j;


    for(i=0;i<2003;i++)
        for(j=0;j<=i;j++){
            if(j==0||j==i)
                a[i][j]=1;
            else
                a[i][j] = (a[i-1][j-1]+a[i-1][j])%1007;
        }

     while(scanf("%d",&T)!=EOF){

        while(T--){

            scanf("%d%d",&m,&n);
            printf("%d\n",a[n][m]);//这里结合杨辉三角可知

        }

     }

    return 0;
}
0
0
查看评论

第14周Problem C: 杨辉三角形

问题及代码: /* *Copyright (c)2014,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:number.cpp *作 者:单昕昕 *完成日期:2014年11月27日 *版 本 号:v1.0 * *问题描述: 1 1 1 1 ...
  • MIKASA3
  • MIKASA3
  • 2014-11-27 15:57
  • 676

杨辉三角

Problem Description 还记得中学时候学过的杨辉三角吗?具体的定义这里不再描述,你可以参考以下的图形: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 Input 输入数据包含多个测试实例,每个测试实例的输入只包含一个...
  • u013175698
  • u013175698
  • 2014-03-07 23:13
  • 1043

HDUJ 2032 杨辉三角

杨辉三角 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 34515  &...
  • hyccfy
  • hyccfy
  • 2014-07-17 17:13
  • 283

图 基本概念和性质

图是计算机运用中常用到的数据结构,特别是在现实应用中的应用愈发的广泛。比如地图、物流,交通等等。关于图的理论和应用内容很多,而算法也是是层出不穷,图的算法比较的难,实现起来也不太容易。下面就先介绍一些关于图的基本概念和性质。
  • vamesary
  • vamesary
  • 2017-04-07 18:29
  • 492

杨辉三角重要性质

前提:每行端点与结尾的数为1. 每个数等于它上方两数之和。 每行数字左右对称,由1开始逐渐变大。 第n行的数字有n项。 第n行数字和为2n-1。 第n行的m个数可表示为 C(n-1,m-1),即为从n-1个不同元素中取m-1个元素的组合数。 第n行的第m个数和...
  • FrankAx
  • FrankAx
  • 2017-10-14 09:24
  • 105

异或运算的性质及用途

两个数交换 不使用 void swap(int a,int b) { a=a+b; b=a-b; a=a-b; }
  • wukong412
  • wukong412
  • 2014-07-11 11:19
  • 1583

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

1、每个数等于它上方两数之和。    :可用于dp、前缀和 2、每行数字左右对称,由1开始逐渐变大。   :可用于简化递推、优化 3、第n行的数字有n项。   :可用于d...
  • haobang866
  • haobang866
  • 2017-02-26 21:40
  • 223

杨辉三角的算法实现

杨辉三角是我国古代数学中一颗明珠,关于它的实现算法网络上不胜枚举,各有千秋。博主不才,在面试中遇到这道题虐得体无完肤。记于此以儆效尤。
  • Stefan_xiepj
  • Stefan_xiepj
  • 2016-09-14 16:22
  • 2867

使用java实现杨辉三角的输出

杨辉三角
  • Mus_Li
  • Mus_Li
  • 2017-01-06 13:19
  • 13651

二项式、杨辉三角、组合数三者之间关系

组合数C(n,m)在组合数学中占有重要地位。与组合数相关的最重要的两个内容是杨辉三角和二项式定理 1、二项式展开系数和杨辉三角一致 如果求的(a+b)^n所有项的系数? 1、方法一用杨辉三角递推:时间复杂度O(n^2) 2、利用等式C(n,k)=(n-k+1)/k*C(n,k-1),从C(n...
  • mengxingyuanlove
  • mengxingyuanlove
  • 2015-08-09 20:50
  • 1678
    个人资料
    • 访问:108346次
    • 积分:4070
    • 等级:
    • 排名:第9025名
    • 原创:311篇
    • 转载:22篇
    • 译文:0篇
    • 评论:5条