摘要: 看到一坨矩形就要想到扫描线。(poj atantis) 我们把横边竖边分开计算,因为横边竖边其实没有区别,以下论述全为考虑竖边的。 怎样统计一个竖边对答案的贡献呢?答:把这个竖边加入线段树,当前的总覆盖长度 减去 加入前的总覆盖长度 的绝对值 即为这个竖边的贡献。 这样做有一个要求,横坐标相同的竖边 阅读全文
posted @ 2018-03-03 22:00 poorpool 阅读(200) 评论(0) 推荐(0)
摘要: 跟线段树求区间最值一样每个节点维护左边开始的最大连续空房间数、右边开始的最大连续空房间数、这个区间内的最大连续空房间数 cpp include include using namespace std; int n, m, opt, uu, vv; struct SGT{ int lma[200005 阅读全文
posted @ 2018-03-03 20:24 poorpool 阅读(190) 评论(0) 推荐(0)
摘要: 倒序 处理,线段树保存有多少空位 cpp include include using namespace std; int n, ans[200005], uu[200005], vv[200005]; struct SGT{ int sum[800005]; void build(int o, i 阅读全文
posted @ 2018-03-03 16:57 poorpool 阅读(125) 评论(0) 推荐(0)