题目链接:http://poj.org/problem?id=2528
基本思路是把坐标离散化,然后用线段树维护区间颜色即可。
颜色标记有未涂色、某一种具体单色、混合色三种,向上维护的时候需要特别判断。查询区间中颜色总数量时,只需要向下找到单色的节点,并借助一个vis数组统计颜色即可。
需要注意的是这题卡常数,离散化时不能用map,因为map常数非常大会被卡掉。可以用lower_bound
来搞,也可以直接用一个数组来搞(因为数据范围只有1e7)。
1 |
|
题目链接:http://poj.org/problem?id=2528
基本思路是把坐标离散化,然后用线段树维护区间颜色即可。
颜色标记有未涂色、某一种具体单色、混合色三种,向上维护的时候需要特别判断。查询区间中颜色总数量时,只需要向下找到单色的节点,并借助一个vis数组统计颜色即可。
需要注意的是这题卡常数,离散化时不能用map,因为map常数非常大会被卡掉。可以用lower_bound
来搞,也可以直接用一个数组来搞(因为数据范围只有1e7)。
1 | #include <cstdio> |