[ZJOI2012]小蓝的好友
小蓝的好友
题解
貌似很板的一道题
好吧,由于感觉与以前做过的一些题很像,所以就想到了单调栈。
很显然,我们要求的就是所有全白的格子个数。我们对于每一行,用单调栈维护它每一列这行的白格子高度。
然后就很容易计算出它的所有矩形的方案数,一个的算法就诞生了。
可这明显会TLE。
好吧,我们发现对于每新加的一行,若i处有黑格,就把它赋值为0,否则加1吧。这东西明显还可以用平衡树维护。
于是,加上一个平衡树就是了,数据是随机的,不卡单调栈。
源码
很好写
#include<cstdio>
#include<cmath>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<queue>
#include<vector>
#include<map>
using namespace std;
typedef lon

浙公网安备 33010602011771号