组合数学及其应用——格路径与Schroder数

格路径问题是探讨在如下所示中的一个格点图上,从(0,0)位置到达(p,q)所有可能的情况数。我们称这样的通路为一条格路径。

格点图:

· · · · ·

· · · · ·

· · · · ·

· · · · ·

· · · · ·

通常按照笛卡尔坐标系的习惯给各个格点标号,即左下角为(0,0),横坐标沿右侧增大,纵坐标沿上侧增大。

现在我们去考察一种特殊的格路径:对于某个格点图,我们规定该格路径不允许超过y=x这条直线,我们称这样的格路径为下对角线矩形格路径。

这里和我们在卡特兰数一节中某个实例应用(穿越街区)联系在了一起,在那里,我们得到对于方阵格点图,从(0,0)到(n,n)的下对角线矩形格路径的数目是第n个卡特兰数,这里我们将通过下一个定理看到,上面这种情形其实是该定理下的一个特殊情况。

时间: 2024-10-06 03:11:04

组合数学及其应用——格路径与Schroder数的相关文章

HDU 1151 Air Raid(最小路径覆盖 = 顶点数 - 最大匹配数)

Air Raid Problem Description Consider a town where all the streets are one-way and each street leads from one intersection to another. It is also known that starting from an intersection and walking through town's streets you can never reach the same

VBA返回选中单元格区域的行数、列数,以及活动单元格的行号和列号

Private Sub Worksheet_SelectionChange(ByVal Target As Range)    Dim rows_count As Integer    Dim rows_id As Integer    Dim column_count As Integer    Dim column_id As Integer    column_count = Selection.Columns.Count '返回选择区域列数    rows_id = ActiveCell

组合数学及其应用——斐波那契数

斐波那契数列是一个非常有名的数列,它有着各种各样神奇的性质并且和自然界有着千丝万缕的联系.通过这篇文章我们将详细的阐述这个看似简单的数列的背后蕴含的神奇性质. 引入斐波那契数的问题: 在一年的开始,把新生的雌雄一对兔子放进一个笼子里.从第二个月开始,每个月这个雌兔子胜出雌雄一对兔子.而每对新出生的雌雄兔子也从第二个月开始生兔子,确定一年后笼子里有多少对兔子? 分析:我们直接考虑通过递推的方法来得到这个问题的泛解(即任意个月后的数量都可以计算),我们记f[n]表示第n天的兔子数量,它的来源有两个:

windows和linux下获取当前程序路径以及cpu数

[cpp] view plaincopy #ifdef WIN32 #include <Windows.h> #else #include <stdio.h> #include <unistd.h> #endif #include <assert.h> std::string getCurrentAppPath() { #ifdef WIN32 char path[MAX_PATH + 1] = {0}; if (GetModuleFileName(NULL

匈牙利算法 hdu 1151有向图的最小路径覆盖=顶点数-最大匹配数

Air Raid Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 3617    Accepted Submission(s): 2377 Problem Description Consider a town where all the streets are one-way and each street leads from on

二分图——最大不可互相到达数 = 最小路径覆盖数

study from: https://blog.csdn.net/winter2121/article/details/79849472 https://nanti.jisuanke.com/t/19979 1 #include <cstdio> 2 #include <cstdlib> 3 #include <cmath> 4 #include <cstring> 5 #include <time.h> 6 #include <stri

2019年4399暑期实习算法题2,迷宫路径条数

实在太菜了,前段时间刚刚做过迷宫问题,也做过N皇后问题.今天笔试做这个题,虽然明白是迷宫问题加个回溯就可以了,但愣是没做出来.太菜了,下来又花了点时间才做出来. 问题:一个(X,Y)的迷宫,入口左上角,出口右下角,求出走出迷宫的路径的条数. # 算法: def solution(map, row, col, x, y, count): if x <= row-1 and y <= col-1 and map[x][y] == 0: if x == row-1 and y == col-1: r

NPU 2015年陕西省程序设计竞赛网络预赛(正式赛)F题 和谐的比赛(递推 ||卡特兰数(转化成01字符串))

Description 今天西工大举办了一场比赛总共有m+n人,但是有m人比较懒没带电脑,另外的n个人带了电脑.不幸的是,今天机房的电脑全坏了只能用带的电脑,一台电脑最多两人公用,确保n>=m.但是大家来的时间不同,随机次序来机房,带电脑的人直接准备比赛而没带电脑的人需要向带电脑并还没和别人公用的人求助(当然会答应).但是,如果不存在带电脑并还没和别人公用的人,那他就要等了,等是很让人头疼的,这就不和谐了,当然假如没有这样的情况发生比赛是很和谐的. Input 输入多组数据,每组数据只有一行m(

POJ 3020 Antenna Placement ,二分图的最小路径覆盖

题目大意: 一个矩形中,有N个城市'*',现在这n个城市都要覆盖无线,若放置一个基站,那么它至多可以覆盖相邻的两个城市. 问至少放置多少个基站才能使得所有的城市都覆盖无线? 无向二分图的最小路径覆盖 = 顶点数 –  最大二分匹配数/2 路径覆盖就是在图中找一些路径,使之覆盖了图中的所有顶点,且任何一个顶点有且只有一条路径与之关联: #include<cstdio> #include<cstring> #include<vector> #include<algor