摘要: 什么是线段树合并? 首先你需要动态开点的线段树。(对每个节点维护左儿子、右儿子、存储的数据,然后要修改某儿子所在的区间中的数据的时候再创建该节点。) 考虑这样一个问题: 你现在有两棵权值线段树(大概是用来维护一个有很多数的可重集合那种线段树,若某节点对应区间是$[l, r]$,则它存储的数据是集合中 阅读全文
posted @ 2018-03-06 18:41 胡小兔 阅读(4817) 评论(2) 推荐(7) 编辑
摘要: 题目链接 "UOJ 134" 题解 可爱的电音之王松松松出的题……好妙啊。 首先想一个朴素的做法! 把当前的整数的二进制当作01序列用线段树维护一下(序列的第i位就是整数中位权为$2^k$的那一位)。 如何做加法?一下子加一个整数比较麻烦,可以把整数拆成一个个二进制位,一位位地加1。如果当前要加一的 阅读全文
posted @ 2018-03-06 17:35 胡小兔 阅读(815) 评论(0) 推荐(2) 编辑