【BZOJ1057】[ZJOI2007] 棋盘制作(单调栈的运用)
点此看题面
大致题意:给你一个N*M的01矩阵,要求你分别求出最大的01相间的正方形和矩形(矩形也可以是正方形),并输出其面积。
这题第一眼看去没什么思路,仔细想想,能发现这道题其实是一道单调栈的运用题。
我们可以先对矩阵上的每一个元素进行预处理,求出以其为底的最长的01柱。
然后对矩形(正方形)的下界进行枚举,即枚举每一行作为矩形(正方形)的下边。
此时,我们发现,只要使连续的01柱连...
原创
2018-07-20 19:49:09 ·
211 阅读 ·
0 评论