杨辉三角学习笔记

news/2024/9/27 19:23:00

基本概念

这是一个杨辉三角。

image

\(a_{i,j}\) 为第 \(i\) 行第 \(j\) 列的数。

\(a_{i,j} = a_{i-1,j-1} + a_{i-1,j}\)

示例代码

#include <bits/stdc++.h>
using namespace std;
int n;
int a[105][105];int main(){scanf("%d",&n); //输入行数for(int i=1;i<=n;i++){a[i][1]=1;a[i][i]=1;for(int j=2;j<i;j++){a[i][j]=a[i-1][j-1]+a[i-1][j];}}for(int i=1;i<=n;i++){for(int j=1;j<=i;j++){printf("%d ",a[i][j]);}printf("\n");}return 0;
}

杨辉三角与组合数学的关系

\(a_{n,m}\) 为从 \(n\) 个数中选 \(m\) 个数的方案数,即 \(C_{n}^{m}\)

显然,\(C_{n}^{m}=C_{n-1}^{m-1}+C_{n-1}^{m}\)。因为可以选择 \(n\) 或不选择。

可用于预处理组合数。

示例代码

#include <bits/stdc++.h>
#define mod 20123
using namespace std;
int n,m;
int a[105][105];int C(int n,int m){for(int i=0;i<=n;i++){ //nfor(int j=0;j<=m;j++){if(i<j) a[i][j]=0;else if(j==0) a[i][j]=1;else if(j==1) a[i][j]=i;else if(i==0) a[i][j]=0;else a[i][j]=(a[i-1][j-1]+a[i-1][j])%mod;}}return a[n][m];
}
int main(){scanf("%d%d",&n,&m);printf("从%d个数中选择%d个数共有%d种选法",n,m,C(n,m));return 0;
}

杨辉三角与二项式展开

众所周知,\((a+b)^{n} = C_{n}^{0} a^{n} + C_{n}^{1} a^{n-1} b + \dots + C_{n}^{n} b^{n}\)

记杨辉三角第一层高度为 \(0\),则杨辉三角第 \(n\) 层的所有数刚好等于 \(C_{n}^{0} \ C_{n}^{1} \ \dots \ C_{n}^{n}\)

同样可以预处理。

杨辉三角与网格图中的最短路径

这是一个网格图,途中每个点标的数是从 \((1,1)\) 点道现在这个点的最短路径有多少条。

image

可以发现,第 \(n\) 行标的数,就是杨辉三角的第 \(n\) 条斜列(从 \(1\) 开始计数)。

杨辉三角与斐波那契数列

1       1
1       1
1 1     2
1 2     3
1 3 1   5
1 4 3   8
...     ...

将杨辉三角的每一斜列隔两行错一次位之后,每一行的和组成的数列即为斐波那契数列。

顺便纠正一下一些误区:斐波那契的汉语拼音是 fei bo na qi

写在后面

先写到这里吧,以后有时间再更新

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/45879.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

【原创】EtherCAT主站IgH解析(二)-- Linux/Windows/RTOS等多操作系统IgH EtherCAT主站移植指南

本文探讨IgH EtherCAT Master针对Linux/Windows/RTOS等不同操作系统的移植。版权声明:本文为本文为博主原创文章,转载请注明出处。如有问题,欢迎指正。博客地址:https://www.cnblogs.com/wsg1100/ 前言 目前,EtherCAT商用主站有:Acontis、TwinCAT3、KPA、Codesys等,开源…

6.20-合并二叉树

617.合并二叉树 题意描述:给你两棵二叉树: root1 和 root2 。 想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两棵树合并成一棵新二叉树。合并的规则是:如果两个节点重叠,那么将这两个节点的值相加作为合并后节点的…

DIGAT论文阅读笔记

DIGAT: Modeling News Recommendation with Dual-Graph Interaction论文阅读笔记 Abstract ​ 现有的NR方法通常采用新闻-用户表示学习框架,面临两个潜在的限制。首先,在新闻编码器中,单个候选新闻编码存在语义信息不足的问题。其次,现有的基于图形的NR方法很有前景,但缺乏…

Manifest V3 getBackgroundPage() 返回 undefined 或报错 You do not have a background page. 的巨坑

省流:无解了,老老实实 sendMessage罢 这件事挺奇怪的,因为我看官方文档就是这么写的,也没什么特别说明,版本也是最新的,就挺奇怪的……在翻了一大圈,之后看到了这篇帖子:意思就是说,api 已经不能用了,文档因为人手不够就没更新……此外还有一个 chrome.runtime.getB…

【YOLOv8改进】MLCA(Mixed local channel attention):混合局部通道注意力(论文笔记+引入代码)

**摘要:**本文提出轻量级MLCA模块,结合通道、空间、局部及全局信息,提升网络表达效率。在MobileNet-Attention-YOLO(MAY)中应用MLCA,于PASCAL VOC和SMID数据集上对比SE和CA,mAP提升1.0%和1.5%。论文及代码链接提供。MLCA通过局部池化和反池化处理,增强通道交互和空间信息…

百度网盘字幕切换失败

PC端百度网盘客户端观看网盘视频生成的AI字幕切换失败,我的办法是切换失败改dns就好了,推荐一个工具方便更改。 DNS优选 https://www.lanzouj.com/ia5uxeh 软件来源https://www.52pojie.cn/thread-1129234-1-1.html 当你在线观看生成字幕后切换迟迟无反应或者一段时间后显示切…

Linux-zabbix

高级命令 监控框架 Zabbix是一个CS(服务端/客户端)架构的服务. zabbix监控架构 Zabbix-Agent获取数据 --发送给--Zabbix-Server服务端-- 数据会被存放-- 数据库 <-- Zabbix Web 页面展示数据 采集数据----》数据收集,数据分析,报警-- 》存储--- 》友好的展示 推荐配置 磁盘…