| 题目名称 | 601. [POJ 1442] 黑盒子 |
|---|---|
| 输入输出 | blackbox.in/out |
| 难度等级 | ★★★ |
| 时间限制 | 1000 ms (1 s) |
| 内存限制 | 128 MiB |
| 测试数据 | 16 |
| 题目来源 |
|
| 开放分组 | 全部用户 |
| 提交状态 | |
| 分类标签 | |
| 分享题解 |
| 通过:211, 提交:407, 通过率:51.84% | ||||
|
|
100 | 0.000 s | 0.00 MiB | C++ |
|
|
100 | 0.005 s | 0.64 MiB | C++ |
|
|
100 | 0.011 s | 1.69 MiB | C++ |
|
|
100 | 0.024 s | 0.71 MiB | C++ |
|
|
100 | 0.028 s | 1.83 MiB | C++ |
|
|
100 | 0.029 s | 1.84 MiB | C++ |
|
|
100 | 0.030 s | 2.60 MiB | C++ |
|
|
100 | 0.031 s | 30.85 MiB | C++ |
|
|
100 | 0.032 s | 1.30 MiB | C++ |
|
|
100 | 0.033 s | 0.60 MiB | C++ |
| 本题关联比赛 | |||
| 20111021 | |||
| 数据结构练习 | |||
| 关于 黑盒子 的近10条评论(全部评论) | ||||
|---|---|---|---|---|
|
洛谷上一直90分。。。。。
谁知道增强的那四组数据卡了点啥?
2017-11-09 21:40
15楼
| ||||
|
上大学了居然还要再学一遍treap
这里的数据似乎有些小,我两个哨兵开了±0x7fffffff(8个f)也过了 我的题解:http://wmdcstdio.com/2017/10/27/poj-1442neerc-1996black-box/ | ||||
|
离散化,线段树
| ||||
|
stl常数大如狗,我没看出来是线段树....
| ||||
|
| ||||
|
| ||||
|
set A4T2
线段树 A6 平衡树 A6 | ||||
|
150题斩。
2016-07-09 17:02
8楼
| ||||
|
终于写对splay了。
| ||||
|
离散化+线段树。离散化时可以把相同的数离散化为不同的值,不必特殊处理,便于之后由离散化后的值再查找一开始的值
| ||||
我们使用黑盒子的一个简单模型。它能存放一个整数序列和一个特别的变量$i$。在初始时刻,黑盒子为空且$i$等于$0$。这个黑盒子能执行一系列的命令。有两类命令:
ADD(x):把元素$x$放入黑匣子;
GET:把$i$加$1$的同时,输出黑匣子内所有整数中第$i$小的数。
下面的表是一个11个命令的例子:
| 编号 | 命令 | i | 黑匣子内容 | 输出 |
| 1 | ADD(3) | 0 | 3 | |
| 2 | GET | 1 | 3 | 3 |
| 3 | ADD(1) | 1 | 1,3 | |
| 4 | GET | 2 | 1,3 | 3 |
| 5 | ADD(-4) | 2 | -4,1,3 | |
| 6 | ADD(2) | 2 | -4,1,2,3 | |
| 7 | ADD(8) | 2 | -4,1,2,3,8 | |
| 8 | ADD(-1000) | 2 | -1000,-4,1,2,3,8 | |
| 9 | GET | 3 | -1000,-4,1,2,3,8 | 1 |
| 10 | GET | 4 | -1000,-4,1,2,3,8 | 2 |
| 11 | ADD(2) | 4 | -1000,-4,1,2,2,3,8 |
定义ADD命令的个数为$m$个,GET命令的个数为$n$个。我们用下面的两个整数序列描述命令序列:
(1)$a_1,a_2,\cdots,a_m$:加入黑匣子的元素序列。例如在上例中$a=\{3,1,-4,2,8,-1000,2\}$。
(2)$u_1,u_2,\cdots,u_n$:$u_i$表示第$i$个GET命令在第$u_i$个ADD命令之后,例如在上例中,$u=\{1,2,6,6\}$。
现在请你根据给出的序列$a$和$u$求出操作过程中输出的所有数值。
输入包括三行。
第一行包含两个整数$m,n$,表示$a$序列和 $u$ 序列的长度。
第二行包含$m$个整数,表示$a$序列的每一个元素。
第三行包含$n$个整数,表示$u$序列的每一个元素。
同行每个数之间用空格隔开。
输出操作过程中所有GET操作输出的数值。
每个数值占一行。
7 4 3 1 -4 2 8 -1000 2 1 2 6 6
3 3 1 2
$|a_i|\leq 2\times 10^9,1\leq n\leq m\leq 30000$,对于所有的$p(1\leq p\leq n),p\leq u(p)\leq m$成立。