【发布时间】:2012-11-24 13:08:36
【问题描述】:
给定一个p x q 大小的矩阵,并从右上角删除一个大小为a x b 的矩阵。找到总数。从左上角到右下角的路径,只允许向右和向下移动。任何路径都不应进入已移除的矩阵。
例如-
_
|_|_
|_|_|
这是从右上角删除(1x1) 矩阵后的(2x2) 矩阵。不。方法 - 5.
我能够找出路径的总数,但我正在考虑消除进入已删除部分的路径的方法非常基本,因此效率不高。
那么,有没有更好的算法呢?
【问题讨论】:
-
想一个一般的有向无环图。如果您有图形的拓扑排序,则顶点数有一个线性时间算法。这转化为矩阵大小的二次算法。
-
您在寻找组合(数学)解决方案还是算法解决方案?请注意,表示您的矩阵的图是一个 DAG,因此如果您正在寻找算法解决方案,可能应该使用它。
-
这可以在网格大小的线性时间内解决(假设为常数时间数学)。
-
“比什么更好”?您声称已经能够找到路径的总数。请在问题中发布如何。
-
我开发了一个数学解决方案,它涉及从所有可能点进入已删除路径并从所有可能点出来的所有路径的总和。
标签: algorithm math combinatorics