题目大意 有一个有m*n个格子的矩形,每个格子都有黑或白两种颜色.现要求将该矩形分别裁剪成一个小矩形或一个小正方形,使得这个矩形和正方形是个国际象棋棋盘,且面积最大. 题解 首先,为了简化问题,我们每隔一个格子将颜色翻转,这样题目就变成了最大01子矩阵问题.解决这类问题需要用到悬线法. 首先,我们规定一个半极大子矩阵为上.左.右边缘由于有障碍而不可继续向上.左.右方向延伸的矩阵.显然我们要求的矩阵是一个半极大子矩阵.对于一个这样的矩阵,我们定义悬线为上边缘的上一排的一个障碍点所在竖直线在矩阵内的…