bzoj1007专题

[bzoj1007]:[HNOI2008]水平可见直线(单调栈)

传送门 姑且算是计算几何第一题吧。。 首先,最后的图形一定是一个凸包形状的东西。 所以,我们按照k递增为第一关键字,b递减为第二关键字,排个序。 然后我们就可以维护一个单调栈,处理结果了。 方法: 我们设当前直线与栈顶直线的交点为x1,栈顶直线与栈顶第二条直线的交点为x2 如果x1<=x2,那么弹出栈顶;否则将当前直线压入栈中。 原理可以看这个图,直到看懂为止。 懂了的话,那