hiho一下第234周《矩形计数》题目分析

5
0

《矩形计数》题目分析

这道题是一道用容斥原理计数的问题。

举个例子,假设K=3,也就是说有3个黑色的单位正方形,我们不妨设这三个黑色单位正方形是A,B和C。

那么,答案 = 所有矩形的数目 
           - 包含A的矩形数目 - 包含B的矩形数目 - 包含C的矩形数目  
           + 包含AB的矩形数目 + 包含BC的矩形数目 + 包含CA的矩形数目
           - 包含ABC的矩形数目

于是我们要解决的问题简化为:对于任意黑色单位正方形的集合S,如何计算包含S的矩形数目。

我们知道只要确定矩形上边界、下边界、左边界和右边界的位置,就唯一确定了一个矩形。

对于给定的黑色单位正方形集合S,不难发现,如果要一个矩形包含S中所有的黑色单位正方形,那么这个矩形的左边界一定在最靠左的黑色单位方形左边(或者与其左边界重合)。

同理这个矩形的右边界一定在最靠右的黑色单位方形有边(或者与其上边界重合)。

这个矩形的上边界一定在最靠上的黑色单位方形上边(或者与其上边界重合)。

同理这个矩形的下边界一定在最靠下的黑色单位方形下边(或者与其下边界重合)。

如上图所示,如果要包含3个黑色单位正方形。则左边界要在蓝色线左边(或重合,有2种可能),右边界在橘色线右边(或重合,有2种可能),上边界在绿色线上边(或重合,有2种可能),下边界在红色线下边(或重合,有2种可能)。

所以这样的矩形数目总共有2x2x2x2=16个。

write answer 切换为英文 切换为中文


转发分享