Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Math 包含网格点的矩形数_Math_Combinations - Fatal编程技术网

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