组合数学——不过对角线的格路问题

众所周知,格路问题是经典的组合数学问题,在n*n的格子盘中,对于从(0,0)->(n,m)的路线数为C(n+m,n),但是,如果加个要求:路线不允许穿过格子盘对角线,那又该怎么办呢?


如图所示,


我们的目标是从(0,0)到(m,n),且不穿过对角线,即x=y线


做法如下:


首先,把对角线向右平移一个单位,把格子盘扩展为(n+1)*(n+1),此时的对角线变为y=x-1,由图可知,如果从(0,0)点出发,到达(m,n)的途中,如果经过y=x-1,那么该路径就一

定穿过了原来的对角线y=x,更神奇的是,如果从(0,0)关于y=x-1的对称点(1,-1)出发,到达(m,n)的话,必定穿过y=x-1,而且每条路径都对应着一条从(0,0)

出发到(m,n)并且经过y=x-1的路径,为什么会有一一对应关系呢?


看图:


图中的坐标整体上移了一位,不影响观察


从图中不难看出,只要在第一个接触点之后保持路线一致,前面路线成对称状,那么就存在一一对应关系了。


所以,


路径数 = 总数 - 穿过对角线的数 = C(n+m,m)-C((m-1)+(n+1),m-1) = C(n+m,m)-C(m+n,m-1)











  • 6
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值