索引消模:用 s2=s+s,则 Ar,c=s2[(n−r)+c],避免每格做取模。
最大矩形(全 0):维护直方图高度 H[c](当前行该列为 0 则 H[c]←H[c]+1,否则 H[c]←0),对每一行用单调栈在 O(n) 求“柱状图最大矩形”,总 O(n2)。
最大直角等腰三角形(全 0):两向 DP,自底向上、滚动一行,空间 O(n)、时间 O(n2)。

给定一个长度为n的二进制字符串s,由0和1字符组成。我们需要构建一个行数为n,列数为n的方表,由0和1字符组成。第一行为原始字符串 s,第二行为字符串s向右循环移动一个,第三行为字符串s向右循环移动两个,以此类推。
求表中所有由0组成的三角形或矩形的最大面积值。