2012年8月22日

PKU 3225 Help with Intervals

摘要: 线段树经典入门题目;这道题有几点不同的地方:1. 维护的是集合,一个点或者一段区间都是一个集合,(2,3) 是一个集合,不能简单的用线段代替集合;2. 用离散的 01 值表示集合,对集合的运算需要转化为 01 区间的异或与赋值操作;3. 01 区间上进行异或和赋值,在 pushdown 的时候只能存在一个信息,一个线段要么被赋值,要么异或,不能既被赋值,同时进行异或(cover[]和xor[]不能同时有效);4. 结果要求输出运算结果(集合),在查询时,要做的不是查询到左端点、右端点,而是把被赋值的区间全部标记下来(O(n)),然后一次扫描完成输出,这道题卡了很长时间就是这里没想清楚(既然用了 阅读全文

posted @ 2012-08-22 21:44 getgoing 阅读(320) 评论(0) 推荐(0) 编辑

导航