51nod 1559 车和矩形

zcmimi at 
查看原题'" class='mdui-btn mdui-btn-raised'>点击加载点击跳转一个矩形要想被保护的话,必须满足所有行 / 所有列上均有一个车的限制。这样我们解决问题就可以转化为判断一个矩形所有行上是否都有一个车了(对于列只需要把图转一下做就可以)。这样我们自然想到线段树 + 扫描线,我是用列上的扫描线从上到下,每一次扫到一个矩形的下边界就判断一下。线段树上维护每一列上距离最远的一个车的纵坐标,我们判断一个矩形是否被保护就只需要判断最远的车是否在当前矩形的范围内了。感觉 OFN 说的扫描线就是把问题转化到一个前缀的维护上面去其实是挺有道理的恩~……