杨辉三角&二项式定理
Star_LIcsAy · · 个人记录
杨辉三角
这个东西在国外也被称为帕斯卡三角,由帕斯卡在十七世纪发现。
它的大致形态为:
1.....................................1=2^0
1 1....................................2=2^1
1 2 1....................................4=2^2
1 3 3 1...................................8=2^3
1 4 6 4 1..................................16=2^4
1 5 10 10 5 1...............................32=2^5
.....
(有时可能没有第1行,或称为第0行)
它的主要结构就是,每行边缘都是1,而中间的数是上一行对应的两个数之和。
还有一些其他的特点:
其性质:每一行的和都等于2的幂,这是容易证明的。
-
例:P5732 【深基5.习7】杨辉三角
-
当然其实没必要用函数,
for 循环也可以起相同的效果; -
其中,我们直接在原数组的基础上更新,保证头和尾都是 1,中间再根据规律进行计算即可;
#include<bits/stdc++.h>
using namespace std;
int n;
int a[25];
void dfs(int index){
if(index>n)
return ;
printf("%d ",1);
int last=a[1];
for(int i=2;i<=index;i++){
if(i==index)
printf("%d",1);
else{
printf("%d ",a[i]+last);
int c=last;
last=a[i];
a[i]+=c;
}
}
a[index]=1;
printf("\n");
dfs(index+1);
return ;
}
int main(){
scanf("%d",&n);
a[1]=1;
dfs(1);
return 0;
}
-
杨辉三角更多的是应用在一些其他的地方。比如它的每一行可以作为方程的基本形式
(x+y)^n 的展开式系数,这一点会在后面二项式定理中详细讲解。同时,在研究抛
n 个硬币的正反面情况时,它的每一行也依次对应了不同个数硬币正面朝上的情况数量。在抛n 个硬币时,有m 个正面朝上的概率为第(n+1) 行第m 个数除以该行总和。它第
n 行的第m 个数对应了C^{m-1}_ {n-1} ,所以有(m\ n)=(n-m+1\ n) .(以上的行数和列数都是指计入了第一行的情况)
由图像可以看出,杨辉三角是轴对称的。
二项式定理
虽然和杨辉三角有那么亿点点的异曲同工之妙……
不,这根本是一个东西吧。
-
根据此定理,可以将
x+y 的任意次幂展开成和的形式。(x+y)^n=\dbinom{n}{0}x^ny^0+\dbinom{n}{1}x^{n-1}y^1+\dbinom{n}{2}x^{n-2}y^2+...+\dbinom{n}{n-1}x^1y^{n-1}+\dbinom{n}{n}x^0y^n -
其矩阵形式:
(a+b)^n=\begin{vmatrix}a^0&a^n\end{vmatrix}\begin{bmatrix}C^0_n&&\\&\ddots&\\&&C^n_n\end{bmatrix}\begin{bmatrix}&&1\\&\vdots&\\1&&\end{bmatrix}\begin{bmatrix}b^0\\\vdots\\b^n\end{bmatrix} n\in N^{+} -
该定理主要应用于高次的开方计算(计算量瞬间少了许多,大概约等于把人脑中
O(N^2) 变成了O(N) ); -
当然如果原式中不是
x 和y 而是其它未知数或有理数,该定理也成立,称为广义二项式定理。 -
例题:最简单的都是普及+/提高,并且其中
\dfrac{6}{7} 都是紫题或黑题,个人有兴趣再做吧,这里就不推荐了。