hdu 5091 Beam Cannon 离散化+扫描线+线段树
题意:有n个点,给你w*h的框框,问你最多可以框住几个点,边缘也算。
做法:把每个点x-w/2,y-h/2, 与x+w/2,y+h /2,作一个矩形,可以知道,只有那个框框的中心在这个矩形中就可以覆盖这个点。然后就把所有点的矩形画出来,计算最大重合的层数就行了。实际操作中 可以把每个矩形看作 左下角为 x,y,右上角为x+w,y+h。 也就相当于一起平移。最大重合层数不变。
这题和我之前做得算面积的线段树不同。因为这里关注的不在是面积,所以也就不再关注宽度了。所以这里 线段树里的每个点0-(k-1
原创
2015-05-05 21:33:28 ·
925 阅读 ·
0 评论