[BZOJ 2243] 染色

描述

http://www.lydsy.com/JudgeOnline/problem.php?id=2243


分析

树链剖分练习题

比较难的地方在于两端相邻区间交界处的颜色有可能相同. 那么此时查询结果不能直接简单相加.

用线段树维护三个值 : 区间颜色总数 区间最左端的颜色 区间最右端的颜色, 这样就能把区间分界线的情况表示出来了.

还有许多细节, 做不出来就看代码对照.

还有一个容易被忽视的问题, 线段树开四倍空间真的够用吗 ? 理论上是这样, 但前提是别在维护时惹最下面那排结点的左右儿子.


代码

https://code.csdn.net/snippets/607303


主页

http://blog.csdn.net/qq_21110267

posted @ 2015-02-24 16:50  wfwbz  阅读(105)  评论(0编辑  收藏  举报