文章目录

  • 一、限制条件的非降路径数

一、限制条件的非降路径数


从 (0,0)(0,0)(0,0) 到 (n,n)(n,n)(n,n) 除端点外 , 不接触对角线的非降路径数 ?

此时无法使用基本公式进行处理了 , 必须使用组合对应的思想 ;

上图示例中 , 从 (0,0)(0,0)(0,0) 出发到 (n,n)(n,n)(n,n) , 只有两个端点 (0,0)(0,0)(0,0) 和 (n,n)(n,n)(n,n) 接触了对角线 , 中间的每一步都没有接触该对角线 ;

1 . 计算原理 , 先计算对角线下方的非降路径 : 这里只计数在对角线下方的非降路径数 , 因为 对角线上下的非降路径是对称的 , 因此这里 先将对角线下方的非降路径计算出来 ;

对角线下方的非降路径 乘以 222 , 就是总的 不接触对角线的 非降路径数 ;

2 . 出发点分析 : 从 (0,0)(0,0)(0,0) 出发后 , 第 111 步必须向右走 , 走到 (1,0)(1, 0)(1,0) 点 , 如果向上走就不能再下来了 ( 否则就会接触对角线 ) , 此时就不是对角线下方的非降路径了 ;

3 . 终止点分析 :

到达 (n,n)(n,n)(n,n) 点 , 只有两种情况 :

  • 对角线上方 : 一种情况是从左边 (n−1,n)(n-1 , n)(n−1,n) 到右边的 (n,n)(n,n)(n,n) 点 , 该路径在对角线上方 ;
  • 对角线下方 : 一种情况是从下边 (n,n−1)(n , n-1)(n,n−1) 到上边的 (n,n)(n,n)(n,n) 点 , 该路径在对角线下方 ;

由于当前只统计 对角线下方的非降路径数 , 到达 (n,n)(n,n)(n,n) 之前的一步 , 必须是从 (n,n−1)(n,n-1)(n,n−1) 位置走到 (n,n)(n,n)(n,n) 的 ;

4 . 对应关系

上述 出发点之后必须走 (1,0)(1, 0)(1,0) 点 , 终点之前必须走 (n,n−1)(n,n-1)(n,n−1) 点 ,

因此 在对角线下方 从 (0,0)(0,0)(0,0) 到 (n,n)(n,n)(n,n) 除端点外 , 不接触对角线的非降路径数

等价于

从 (1,0)(1, 0)(1,0) 到 (n,n−1)(n,n-1)(n,n−1) 除端点外 , 不接触对角线的非降路径数

5 . 计算 (1,0)(1, 0)(1,0) 到 (n,n−1)(n,n-1)(n,n−1) 除端点外 , 不接触对角线的非降路径数

下面讨论 “从 (1,0)(1, 0)(1,0) 到 (n,n−1)(n,n-1)(n,n−1) 除端点外 , 不接触对角线的非降路径数” 的计数方式 ;

使用反向思路考虑 , 统计 从 (1,0)(1, 0)(1,0) 到 (n,n−1)(n,n-1)(n,n−1) 之间 , 接触过对角线的非降路径 , 剩下的就是不接触对角线的路径 ;

上述两者的总数是 C(2n−2,n−1)C(2n-2 , n-1)C(2n−2,n−1) 个 ;

上图是 一个 “从 (1,0)(1, 0)(1,0) 到 (n,n−1)(n,n-1)(n,n−1) , 接触过对角线的非降路径” ,

图中的 红色点 AAA 是该非降路径最后接触对角线的位置 , 前面可能有多次接触该对角线 ;

将 (1,0)(1, 0)(1,0) 点 与 AAA 点 之间的蓝色线段 , 关于对角线作对称图像 , 得到 红色线段 ,

上图中的 蓝色线段 起点是 (1,0)(1,0)(1,0) , 那么对应的 红色线段的起点必定是 (0,1)(0,1)(0,1) ;

每一条从 (1,0)(1,0)(1,0) 开始到 (n,n−1)(n, n-1)(n,n−1) 的接触对角线的非降路径 , 都有蓝色的线段 , 都可以使用对称的方法 , 得到一个 从 (0,1)(0,1)(0,1) 到达 AAA 点的红色线段 ;

这里就得到了一个组合对应关系 :

每条从 (0,1)(0,1)(0,1) 出发 , 到 (n,n−1)(n, n-1)(n,n−1) 的 非降路径 ( 即将 红色的线段 与 剩余的 黑色线段 可以拼接起来的路径 )

都可以与

从 (1,0)(1,0)(1,0) 出发 , 到 (n,n−1)(n, n-1)(n,n−1) 的接触对角线的 非降路径

一一对应 ;

因此如果要求 "从 (1,0)(1,0)(1,0) 出发 , 到 (n,n−1)(n, n-1)(n,n−1) 的接触对角线的 非降路径数 " , 可以通过求 “从 (0,1)(0,1)(0,1) 出发 , 到 (n,n−1)(n, n-1)(n,n−1) 的 非降路径数” ;

“从 (0,1)(0,1)(0,1) 出发 , 到 (n,n−1)(n, n-1)(n,n−1) 的 非降路径数” 可以使用公式进行计算 , 结果为 C(2n−2,n)C(2n - 2 , n)C(2n−2,n) ,

对应的 "从 (1,0)(1,0)(1,0) 出发 , 到 (n,n−1)(n, n-1)(n,n−1) 的接触对角线的 非降路径数 " , 结果为 C(2n−2,n)C(2n - 2 , n)C(2n−2,n) ;

6 . 计算 (1,0)(1, 0)(1,0) 到 (n,n−1)(n,n-1)(n,n−1) 的所有非降路径数

根据公式计算即可 , 结果是 : C(2n−2,n−1)C(2n - 2 , n-1)C(2n−2,n−1)

7 . 计算 (1,0)(1, 0)(1,0) 到 (n,n−1)(n,n-1)(n,n−1) 除端点外 , 不接触对角线的非降路径数

"(1,0)(1, 0)(1,0) 到 (n,n−1)(n,n-1)(n,n−1) 除端点外 , 不接触对角线的非降路径数" 就是

"(1,0)(1, 0)(1,0) 到 (n,n−1)(n,n-1)(n,n−1) 的所有非降路径数" 减去 "(1,0)(1, 0)(1,0) 到 (n,n−1)(n,n-1)(n,n−1) 除端点外 , 不接触对角线的非降路径数" ;

C(2n−2,n−1)−C(2n−2,n)\ \ \ \ C(2n - 2 , n-1) - C(2n - 2 , n)    C(2n−2,n−1)−C(2n−2,n)

=(2n−2n−1)−(2n−2n)=\dbinom{2n - 2}{n-1} - \dbinom{2n - 2}{n}=(n−12n−2​)−(n2n−2​)

8 . 计算 从 (0,0)(0,0)(0,0) 到 (n,n)(n,n)(n,n) 除端点外 , 不接触对角线的非降路径数

上面的 (2n−2n−1)−(2n−2n)\dbinom{2n - 2}{n-1} - \dbinom{2n - 2}{n}(n−12n−2​)−(n2n−2​) 只是计算的是对角线下面的非降路径数 ,

从 (0,0)(0,0)(0,0) 出发 , 到 (n,n)(n,n)(n,n) 不接触对角线的非降路径数 , 再乘以 222 , 就得到了本题目的最终结果 ;

从 (0,0)(0,0)(0,0) 到 (n,n)(n,n)(n,n) 除端点外 , 不接触对角线的非降路径数

最终结果是 : 2[(2n−2n−1)−(2n−2n)]2[\dbinom{2n - 2}{n-1} - \dbinom{2n - 2}{n}]2[(n−12n−2​)−(n2n−2​)]

【组合数学】非降路径问题 ( 限制条件的非降路径数 )相关推荐

  1. 【组合数学】非降路径问题 ( 非降路径问题概要说明 | 非降路径问题基本模型 | 非降路径问题拓展模型 1 非原点起点 | 非降路径问题拓展模型 2 有途经点 )

    文章目录 一.非降路径问题 概要说明 二.非降路径问题 基本模型 二.非降路径问题 拓展模型 1 三.非降路径问题 拓展模型 2 组合恒等式参考博客 : [组合数学]二项式定理与组合恒等式 ( 二项式 ...

  2. 填充路径时使用的非零环绕规则

    如果当前路径是循环的,或者包含多个相交的子路径,那么Canvas的绘图环境变量就必须判断,当fill()方法被调用时,应该如何对当前路径进行填充. Canvas在填充互相有交叉的路径时,使用非零环绕规 ...

  3. 二叉树路径应用举例(基于非递归后序遍历)

    #include "stdafx.h" #include <iostream> #include <fstream>using namespace std; ...

  4. 成功解决WIN系统如何更改默认放在C盘的【我的文档】/【图片】位置的存储路径(修改到其它非系统的盘符)

    成功解决WIN系统如何更改默认放在C盘的[我的文档]/[图片]位置的存储路径(修改到其它非系统的盘符) 目录 解决问题 解决思路 解决方法 解决问题 解决WIN系统如何更改默认放在C盘的[我的文档]/ ...

  5. 非隔离开关电源芯片4个元件AC降DC5V电源方案

    非隔离开关电源芯片4个元件AC降DC5V电源方案 产品描述. WD5201 is a compact off-line linear WD5201是一款紧凑型无电感设计的离线式线性稳压器. By ad ...

  6. Unity 性能优化:降同屏Tris、动态合批降DC、遮罩剔除、渲染路径

    前言: 元宵节快到了,想要做一个上千盏孔明灯的场景,由于不懂建模,于是在Asset Story找了一套模型,结果找的灯笼模型精细度超标,当在游戏场景中实例化出四百个孔明灯时,帧率只有十帧左右 为了使得 ...

  7. 24-讲一讲公平锁和非公平锁,为什么要“非公平”?

    什么是公平和非公平 首先,我们来看下什么是公平锁和非公平锁,公平锁指的是按照线程请求的顺序,来分配锁:而非公平锁指的是不完全按照请求的顺序,在一定情况下,可以允许插队.但需要注意这里的非公平并不是指完 ...

  8. Java多线程学习十五:公平锁和非公平锁,为什么要“非公平”?

    什么是公平和非公平 公平锁 指的是按照线程请求的顺序,来分配锁: 非公平锁 指的是不完全按照请求的顺序,在一定情况下,可以允许插队.但需要注意这里的非公平并不是指完全的随机,不是说线程可以任意插队,而 ...

  9. 精算模型10 非参数模型0 精算数据、非参数建模的思路概述

    精算模型10 非参数模型0 精算数据.非参数建模的目标概述 数据类型 完整数据 非完整数据 数据分析目标 这是精算模型的第十部分,精算的非参数统计模型,从这一部分开始我们讨论精算建模的统计方法.在讨论 ...

最新文章

  1. SimpleDateFormat线程不安全
  2. vim 忽略大小写查找
  3. 【C++ 语言】线程安全队列 ( 条件变量 | 线程调度 )
  4. zookeeper平滑升级_zookeeper从3.4.8升级到3.4.14
  5. 前端在linux中常用的命令,前端应该会的23个linux常用命令
  6. java验证生日的正则表达式
  7. RAID技术超详细讲解
  8. 数据自治开放模式下的隐私保护
  9. 由已打开的文件读取数据---read
  10. DPDK EAL parameters(DPDK环境抽象层参数)-MD版本(F-Stack配置文件的配置参数)
  11. iOS 实现简单的列表预加载
  12. 前端宽度一至显示宽度不一致_html2canvas在不同设备生成图片大小不一致问题
  13. echart制作环形图
  14. usbcan系列便携式can分析仪
  15. 全球与中国具有集成保护功能的共模滤波器(CMF)市场深度研究分析报告
  16. 另一个伊甸专武,国际服用(手机随便做的,有点粗糙,见谅
  17. DDD领域驱动设计笔记
  18. Python xlrd读取、处理excel日期类型
  19. python实现之导数
  20. oracle 8i 启动,如何快速启动oracle 8i SQL-Plus?

热门文章

  1. 常见的服务器内存浅析
  2. omnicppcomplete - a Vim plugin [转载]
  3. [导入]ASP.NET 2.0 读取配置文件[INI](示例代码下载)
  4. nhibernate入门系列: 使用Criteria载入对象
  5. Django REST framework 1
  6. iOS pods更新失败
  7. BZOJ3709: [PA2014]Bohater
  8. 关于排版中经常见的问题的解决方法
  9. 使用Git进行代码管理的心得
  10. 南邮CTF密码学write up