[BZOJ 2243] 染色
描述
分析
树链剖分练习题
比较难的地方在于两端相邻区间交界处的颜色有可能相同. 那么此时查询结果不能直接简单相加.
用线段树维护三个值 : 区间颜色总数 区间最左端的颜色 区间最右端的颜色, 这样就能把区间分界线的情况表示出来了.
还有许多细节, 做不出来就看代码对照.
还有一个容易被忽视的问题, 线段树开四倍空间真的够用吗 ? 理论上是这样, 但前提是别在维护时惹最下面那排结点的左右儿子.
代码
主页
描述
分析
树链剖分练习题
比较难的地方在于两端相邻区间交界处的颜色有可能相同. 那么此时查询结果不能直接简单相加.
用线段树维护三个值 : 区间颜色总数 区间最左端的颜色 区间最右端的颜色, 这样就能把区间分界线的情况表示出来了.
还有许多细节, 做不出来就看代码对照.
还有一个容易被忽视的问题, 线段树开四倍空间真的够用吗 ? 理论上是这样, 但前提是别在维护时惹最下面那排结点的左右儿子.
代码
主页