Math 包含网格点的矩形数
我想知道网格中可能包含特定点的矩形的数量(不是计算所有矩形点的算法) 让网格成为->Math 包含网格点的矩形数,math,combinations,Math,Combinations,我想知道网格中可能包含特定点的矩形的数量(不是计算所有矩形点的算法) 让网格成为-> 11 12 13 14 15 21 22 23 24 25 31 32 33 34 35 现在让我们假设“11”总是存在于这个网格中所有可能的矩形中。所以可能的矩形是- 11 11 12 11 12 13 11 12 13 14 11 12 13 14 15 11 21 11 21 31 11 12 21 22 等等。。。对于这个,总共有15个可能的矩形 如何计算网
11 12 13 14 15
21 22 23 24 25
31 32 33 34 35
现在让我们假设“11”总是存在于这个网格中所有可能的矩形中。所以可能的矩形是-
11
11 12
11 12 13
11 12 13 14
11 12 13 14 15
11
21
11
21
31
11 12
21 22
等等。。。对于这个,总共有15个可能的矩形
如何计算网格中给定点的此类矩形的总数?让我们这样来看看网格:
+--+--+--+--+--+
|11|12|13|14|15|
+--+--+--+--+--+
|21|22|23|24|25|
+--+--+--+--+--+
|31|32|33|34|35|
+--+--+--+--+--+
每个+
都是一个矩形角点,每个矩形都可以用两个相对的点来描述,一个是左上角,一个是右下角。如果我们想找到包含给定字段的所有矩形
pq
,我们需要找到左上角点位于字段上方和左侧,右下角点位于字段下方和右侧的所有矩形。所有左上角和右下角点将再次生成两个网格:
pq = 22
+--+
|11|12 13 14 15
+--+
21 22 23 24 25
+--+--+--+
31 32|33|34|35|
+--+--+--+
左上角的大小很容易用:p*q
右下角的尺寸可通过以下公式计算:
(r+1-p)*(c+1-q)
其中,
r
是行数,c
是列数(本例中分别为3和5)
最后,包含pq的矩形数量为:p*q*(r+1-p)*(c+1-q)
使用pq=11
这将是:1*1*(3+1-1)*(5+1-1)=1*3*5=15