【集训队作业】XRQRS

原创 2015年11月19日 21:38:17

题目大意

现要求维护一个序列(初始为空),要求实现m个操作,包括以下几种。

  • 在序列末尾添加一个数x
  • 删除数列末尾的x个数
  • 询问[l,r)区间中所有数与x异或,取得最大值的数
  • 查询[l,r)区间中的第x小数
  • 查询[l,r)区间中,小于等于x的数的个数

m5×105,5×105


分析

找区间第k小,小于等于某个数的个数,以及异或最值,可以分别用可持久化线段树以及可持久化trie简单地解决。

那么这道题就基本上解决了。

我们维护一个栈,表示当前的序列。

对于操作1,添加一个数,则在当前序列末尾的数据结构基础上修改,将这个数压入栈中,并将新建的这个修改后的数据结构指向新加入的数。
对于操作2,删除x个数,直接弹栈就可以了。
对于操作3,4,5就是经典的可持久化数据结构的应用了。这里就不赘述了。

时间复杂度O(mlogn)
空间复杂度O(mlogn)

版权声明:

相关文章推荐

集训队作业

  • 2013-01-14 23:22
  • 214KB
  • 下载

国家集训队2016论文集

  • 2017-04-22 20:12
  • 9.76MB
  • 下载

莫队(bzoj 2038: [2009国家集训队]小Z的袜子(hose))

莫队也是暴力的一种,不过可以很有效的降低复杂度 如果我们已知[l, r]的答案,能在O(1)时间得到[l+1,r]的答案以及[l, r-1]的答案,即可使用莫队算法。 时间复杂度为O(n^1.5)。如...

国家集训队2014论文集

  • 2016-08-17 16:44
  • 6.10MB
  • 下载

北京邮电大学acm集训队stl

  • 2016-07-17 11:01
  • 128KB
  • 下载

【国家集训队2013模拟】Banner

DescriptionLZN 搞完保送生考试,终于要回到信息组大家庭了,Chanxer 决定要好好地欢迎LZN,于是他在在操场上整齐地插了(M + 1) *(N + 1) 个标杆,形成了一个平面直角坐...

2009年ACM国家集训队论文

  • 2017-08-14 15:00
  • 11.08MB
  • 下载

国家集训队2014论文集

  • 2017-08-11 11:17
  • 6.10MB
  • 下载

bzoj2038: [2009国家集训队]小Z的袜子(hose)

莫队算法 #include #include #include #include using namespace std; #define MAXN 50003 #define ...

国家集训队2004论文集

  • 2017-08-05 18:16
  • 9.12MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)