您的位置:首页 > 其它

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

2015-04-27 17:26 615 查看
众所周知,格路问题是经典的组合数学问题,在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)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: