n条横线m条竖线,最多可以得到多少个矩形

如n=2,m=2,组成井字形,最多有1个,n=2,m=3,最多3个(2个小的,1个大的)

阅读 4.8k
2 个回答

每(2条横线&&2条竖线)都可以组成1个矩形。然后问题就变成了Cn2*Cm2

“拿不准就穷举”

两点确定一个矩形,从这个要点入手。考虑把网格的每一个顶点作为左上角点。则该点右侧或下侧有多少个点(可以作为右下角点),则以该点为左上角点的矩形就有多少个。对于n=6,m=5的一个例子如下:

20 16 12 8 4 0
15 12  9 6 3 0
10  8  6 4 2 0
 5  4  3 2 1 0
 0  0  0 0 0 0

self-explained. 甚至连代码都不用了。有O(n+m)的复杂度,凑合吧。O(1)的算法必有,懒得想了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进