如果按一般的思路来想,去求窗户能框住的星星,就很难想出来. 如果换一个思路,找出每颗星星能被哪些窗户框住,这题就变得非常简单了. 不妨以每个窗户的中心代表每个窗户,那么每颗星星所对应的窗户的范围即以其为中心的.W*H的矩形.把这些矩形的左边和右边,分别加上和减去其价值.而统计这些边只需要开一个线段树统计即可,用每次加边后得到的最大值更新答案. 需要注意的是,计算这些边上两点的坐标时可能出现0.5的情况,为了避免,把原坐标*2即可.而且坐标过大,需要离散化. 一开始打的时候,竟然,错了样例.仔细看…