组合数学第五讲

Catalan numbers(卡特兰数)

先通过平衡括号引入卡特兰数序列的概念

1,2,5,14,...,这些数构成了卡特兰数序列,分别代表一共有i个括号时,括号排列构成的合法方案数【从左到右如果所有括号都能依次配对即是合法的,如 “())(” 是不合法的】

Monotonic lattice paths(路径记数问题)

 规则:在一个n*n的方格图中,从左上角的点走到右下角的点,只能向右走或者向下走,并且只能在正方形对角线右上部分,不能越过对角线走(例如在3*3的图中,下图就越过了对角线)

巧合的是,非降路径方案数和卡特兰数是一样的。

因为非降路径方案数可以映射成一个平衡括号问题,向右走映射成左括号,向下走映射成右括号。n*n的方格图,有n个左括号和n个有括号,可以构成n对括号;由(x,y)在y = -x+n右上侧推出x+y>=n,进而推出x>=n-y(其中x为实际向右走的步数,n-y为实际向下走的步数),这也保证了括号一定匹配的上,不会出现左到右顺序遍历时有右括号而无左括号匹配的问题。

 Polygon triangulation(三角剖分)

三角剖分在CG中的作用:

在计算机图形学中,通常使用多边形网格来表示三维物体表面,而三角剖分就是将多边形划分成若干个三角形的过程。三角剖分可以将原始几何体离散化为一系列三角形,并根据需要进行进一步的计算和处理。其中,三角剖分质量的好坏将直接影响到后续基于这些数据进行的渲染、物理模拟或者其他算法的效果质量和速度。

同时,三角剖分也是很多计算机图形学算法的核心部分,例如曲面重建、形态分析、三维扫描等。在这些应用中,三角剖分不仅是将复杂的几何对象进行离散化的手段,还充当了连接各种计算机图形学算法所需的输入数据的媒介。因此,三角剖分在计算机图形学中具有广泛的应用。

求的是对凸多边形通过不相交的对角线切分成三角形的不同切分方案数

巧合的是,划分成n个三角形的方案数和n对平衡括号的方案数也是一样的

具体怎么映射......我也不懂

递归数列

n为多边形的边数,c_{n-2}为卡特兰数通项

具体解释:选定一条边,再选除了选定边的两点外的一点,将多边形分成三块区域,而边和点构成的三角形两边的区域分割方案数也是卡特兰数

例子:C_6~=C_0C_5+C_1C_4+C_2C_3+C_3C_2~+C_4~C_1~+C_5~C_0

第一幅图中,白色的为七边形,方案数为c_5

第二幅图中,黄色的为三角形,方案数为c_1,绿色的为六边形,方案数为c_4,

生成函数求卡特兰数序列的通项公式

 

 

 

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

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

相关文章

Niagara—— Texture Sample 与 Particle Subuv 区别

一,Texture Sample 此节点是最基本的采样节点,依据UV坐标来采样Texture; MipValueMode,设置采样的Mipmap Level; None,根据当前Texture大小和物理缩放,自动选择合适的 Mipmap Level &#xff1b…

将数组中的每一位元素依次循环向后移一位

#include<iostream> using namespace std; int main() {int a[10],i,t,k;for(i0;i<10;i){cin>>a[i];}ka[9];for(i9;i>0;i--){ta[i];a[i]a[i-1];a[i-1]t;}a[0]k;for(i0;i<10;i){cout<<a[i]<<" ";}cout<<endl;return 0; }

定义一个函数,统计具有n个元素的一维数组中大于等于所有元素平均值的元素的个数并返回这个值

#include<iostream> using namespace std; int Count(double a[6],int n) {int average,i,s0,k0;for(i0;i<n;i){ssa[i];}averages/n;for(i0;i<n;i){if(a[i]>average)k;}return k; } int main() {int i,k,n;cout<<"请输入数组的大小n:"<<e…

(附源码)springboot自行车在线租赁管理系统 毕业设计101157

Springboot自行车在线租赁系统 摘 要 信息化社会内需要与之针对性的信息获取途径&#xff0c;但是途径的扩展基本上为人们所努力的方向&#xff0c;由于站在的角度存在偏差&#xff0c;人们经常能够获得不同类型信息&#xff0c;这也是技术最为难以攻克的课题。针对自行车租赁等…

240:vue+openlayers上传CSV文件,在地图上显示信息

第240个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+openlayers上传CSV文件,在地图显示,点击点后,显示点信息。 直接复制下面的 vue+openlayers源代码,操作2分钟即可运行实现效果; 注意如果OpenStreetMap无法加载,请加载其他来练习 文章目录 示例效果使用的csv…

阿啊-有意思的表情包

阿啊&#xff0c;英文名为Ah-Ah&#xff0c;诞生于2019年8月&#xff0c;是一只角度固定、不知是啥的二维生物(也可能不是生物)。准确的来说&#xff0c;这是一个系列表情包&#xff0c;从官网上可以下载&#xff0c;目前已经推出了好几个版本。当然&#xff0c;还支持在线制作…

如何制作搞笑表情包

表情包已经成为我们生活聊天中必不可少的一部分&#xff0c;但是如何制作搞笑表情包呢&#xff1f;自己制作的表情包更加独有个性&#xff0c;今天小编带大家看一波原创表情包的制作方法吧&#xff01;使用工具&#xff1a;电脑操作方法&#xff1a;1、首先在手机上也是可以制作…

红包表情包封面怎么制作,沙雕表情包怎么制作,送你行走的表情包

对于很多小伙伴来说&#xff0c;可能制作一个红包封面还是有一定难度的&#xff0c;不过发红包是可以插入表情包的&#xff0c;我想表情包大家都有吧。 没有怎么办呢&#xff1f;那就动手制作呗&#xff01; 如果你是个设计高手完全就不在话下&#xff0c;完全可以设计出自己…

如何用python绘制一系列三维的逗比风格表情包

如果你也想赚钱&#xff0c;实现财务自由&#xff0c;但接触不到优质的人脉和资源&#xff0c;可以到公June浩&#xff1a;成长home&#xff0c;发"资源" &#xff0c;就会看到我吐血整理的168条保姆级零基础吸金秘籍&#xff0c;跟着我一起亲历毕业5年、创业3年、从…

My Note of Diffusion Models

Diffusion Models Links: https://theaisummer.com/diffusion-models/ Markovian Hierachical VAE rvs: data: x 0 x_{0} x0​,representation: x T x_{T} xT​ ( p ( x 0 , x 1 , ⋯ , x T ) , q ( x 1 , ⋯ , x T ∣ x 0 ) ) (p(x_0,x_1,\cdots,x_T),q(x_1,\cdots,x_{T…

如何在html中插入表情包,怎么把表情包插入word

是下表情包已经成为一种流行&#xff0c;在word文档中&#xff0c;添加表情包&#xff0c;会给人一种生动亲切的感觉。那么如何在word中添加表情包呢&#xff1f;下面就来看看小编的方法吧。 表情包有很多种形式&#xff0c;例如动态表情&#xff0c;表情符号&#xff0c;静态图…

Github emoji 表情包大全

传送门&#xff1a;https://www.jianshu.com/p/72a4214764e4 https://www.webpagefx.com/tools/emoji-cheat-sheet/

深度学习了40万个表情,一大波AI 表情包来了

自从有了表情包&#xff0c;跟人聊天时的第一反应&#xff0c;就是去找找看有什么适合的表情。 有一类表情包&#xff0c;形式是文字图&#xff0c;尤其能够精妙地抒发和传递感情。 在这一点上&#xff0c;可能全世界的网友都一样。 好用的表情永远不嫌多&#xff0c;而且似乎总…

进击的巨人有趣表情包

image 下载地址: 进击的巨人_BQB/进击的巨人00001-戴拿.gif image 下载地址: 进击的巨人_BQB/进击的巨人00002-莱纳你坐呀.gif image 下载地址: 进击的巨人_BQB/进击的巨人00003-逐渐变得精彩起来了.jpg image 下载地址: 进击的巨人_BQB/进击的巨人00004-醉酒的等级-尤弥尔希斯…

深度学习的分割方法

FCN&#xff1a;基于深度学习的语义分割模型 语义分割的定义&#xff1a;对像素进行精细化的分类。 用深度学习来解决语义分割&#xff0c;所面临的主要问题是&#xff1a; 早期的深度模型用于分类&#xff0c;输出一维向量&#xff0c;无法分割 深度模型不够精细 动机 如…

中国人民大学与加拿大女王大学金融硕士——人生选对方向很重要

有人说&#xff0c;人生最重要的不是财富、不是荣誉&#xff0c;而是选择一条正确的道路。选择正确的方向&#xff0c;对一个人的成长和事业的成功与否&#xff0c;起着决定作用。有了方向&#xff0c;你前进的每一步都跟接近幸福。在职计划读研的你有了解过中国人民大学与加拿…

有哪些测试框架和工具推荐? - 易智编译EaseEditing

在软件测试领域&#xff0c;有许多测试框架和工具可供选择。以下是一些常见的测试框架和工具的推荐&#xff1a; Selenium: 一个用于自动化Web应用程序测试的流行框架。它支持多种编程语言&#xff0c;并提供丰富的功能和灵活性。 JUnit: 一个用于Java应用程序的单元测试框架…

deepin搭建go开发环境(git、go、neovim、NvChad、Nerd Font)

安装deepin虚拟机 官网下载地址 vmware中记得版本选择是debian 10.x 64位 然后就是一些确认操作&#xff0c;然后就可以了 安装git apt install gedit apt install git git config --global user.name "hello" git config --global user.email hello126.com git c…

Win7下Apploc的正确安装姿势

时隔两年之后WIN7终于再次挂掉。于是重装系统打完补丁之后又遇到了安装Apploc的问题。因为印象中需要使用msiexec来安装才能正常进行&#xff0c;但是却记不得细节了&#xff0c;于是求助Google。得到的结果无论中英文基本如下&#xff1a; 1. Admin权限开个cmd.exe 2. cmd里运…

使用sasjs构建html5 javascript css应用

In our previous articles, we have learnt about the SASjs ecosystem and seen how we can build a SAS app with Angular. 在之前的文章中&#xff0c;我们了解了SASjs生态系统&#xff0c;并了解了如何使用Angular构建SAS应用程序 。 In this article, we will look at ho…