[平衡树] 黑匣子 (blackbox)
来源:互联网 发布:淘宝达人广场 在哪里 编辑:程序博客网 时间:2024/05/16 16:14
题目描述 Description
我们使用黑匣子的一个简单模型。它能存放一个整数序列和一个特别的变量
i 。在初始时刻,黑匣子为空且i 等于0 。这个黑匣子能执行一系列的命令。有两类命令:ADD(x) :把元素x 放入黑匣子;GET :把i 加1 的同时,输出黑匣子内所有整数中第i 小的数。牢记第i 小的数是当黑匣子中的元素已非降序排序后位于第i 位的元素。
下面的表是一个11 个命令的例子:
现需要一个有效的算法处理给定的一系列命令。ADD 和GET 命令的总数至多有30000 个。定义ADD 命令的个数为M 个,GET 命令的个数为N 个。我们用下面的两个整数序列描述命令序列:
(1)A(1),A(2),…,A(M) :加入黑匣子的元素序列。所有的数均为绝对值不超过2000000 的整数。例如在上例中A=(3,1,−4,2,8,−1000,2) 。
(2)u(1),u(2),…,u(N) :u(i) 表示第i 个GET 命令在第u(i) 个ADD 命令之后,例如在上例中,u=(1,2,6,6) 。
你可以假定自然数序列u(1),u(2),…,u(N) 以非降序排列,N≤M ,且对于每一个p(1≤p≤N) 有p≤u(p)≤M 。
输入 Input
输入文件名为blackbox.in,其中第一行存放
M 和N 的值,第二行存放A(1),A(2),…,A(M) ,第三行存放u(1),u(2),…,u(N) 。
输出 Output
输出黑匣子的处理结果。
样例输入 Sample Input
7 4
3 1 -4 2 8 -1000 2
1 2 6 6
样例输出 Sample Output
3
3
1
2
限制 Limit
见题目
Time Limit :1s & Memory Limit :128MB
纯正的平衡树题目,只不过查询是离线的有点不爽,无论是用Splay、Treap或者SBT都可以AC(但是首先你得写对……)
上代码
Code
据说还可以用线段树写?
- [平衡树] 黑匣子 (blackbox)
- 堆/平衡树——Luogu1801 黑匣子_NOI导刊2010提高(06)
- 黑匣子
- 黑匣子
- 黑匣子
- 黑匣子
- Inside the blackbox -- notes
- 【POJ 1442 && 洛谷 P1801】黑匣子(替罪羊树做法)
- 软件‘黑匣子’
- 【数据结构】黑匣子
- mycat 黑匣子
- [P1801]黑匣子
- 黑匣子_KEY
- 平衡树
- 平衡树
- 平衡树
- 平衡树
- 平衡树
- scu图论专题题解
- 最大公约数与最小公倍数
- 安检那些事情
- C语言注释转化为C++注释
- 欢迎使用CSDN-markdown编辑器
- [平衡树] 黑匣子 (blackbox)
- Two Sum
- 代理模式
- 特效相机妙用
- 银行卡输入四位加一空格
- 裸函数_与调用约定
- Servlet_JSP学习笔记
- 在 Debian 下安装 Apache,MySQL,PHP
- Dynamics CRM 安装CRM程序系统检查界面报未将对象引用设置到对象的实例的解决方法