pku 2777Count Color 线段树 懒惰标记 位运算(位或)

懒惰标记这个知识点 可以参考 http://blog.csdn.net/weizhuwyzc000/article/details/50445710

最主要的是位运算 利用位或(只要对应的二个二进位有一个为1时,结果位就为1) 比如111 表示这个区间红黄蓝都有 则另一个区间就可以用101 表示只有红蓝 利用位或就可以让父节点 为111 表示这个区间三个颜色都有。  这种用二进制表示的方法 既能够表示出颜色个数又能表示不同颜色存在状况 ,当初怎么想也想不到,值得学习。 

利用

1<<(value-1)

来标记,每个叶子的颜色。

其中value表示的是颜色的数字


代码见 https://www.cnblogs.com/dongsheng/archive/2012/08/08/2628845.html

posted @ 2018-03-16 21:26  LandingGuys  阅读(137)  评论(0编辑  收藏  举报