先求出dfs序,然后建立线段树,线段树每个节点套一个set。 修改操作只需要改被子树区间完全覆盖的线段树节点,将其节点中set的原来的值删除,加入新值。 询问操作查询单点到根的所有节点上的set中与查询值异或起来最大的那个。 查询set中的数与x异或的最大值,可以从高位到低位枚举二进制位,...
分类:
其他好文 时间:
2015-08-15 01:29:33
阅读次数:
276
Minimal coverage
The Problem
Given several segments of line (int the X axis) with coordinates [Li,Ri]. You are to choose the minimal amount of them, such they would completely cover the segment [0,...
分类:
其他好文 时间:
2014-10-14 23:52:09
阅读次数:
247
题意:。。。
这道题就是区间问题三种中的区间完全覆盖问题,不懂的可以看我上一篇也是区间完全覆盖。
直接上代码:
#include
#include
#include
using std::sort;
struct node{
double le, ri;
}s[1005];
int cmp(node a, node b)
{
return a.le < b.le;
}
int ma...
分类:
其他好文 时间:
2014-08-20 00:02:06
阅读次数:
297