题目名称 | 3696. 耍猴游戏 |
---|---|
输入输出 | monkeygame.in/out |
难度等级 | ★★★ |
时间限制 | 1000 ms (1 s) |
内存限制 | 256 MiB |
测试数据 | 10 |
题目来源 | lihaoze 于2022-06-30加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:1, 提交:3, 通过率:33.33% | ||||
op_组撒头屯 | 100 | 0.243 s | 7.05 MiB | C++ |
op_组撒头屯 | 90 | 0.377 s | 6.97 MiB | C++ |
op_组撒头屯 | 90 | 0.421 s | 6.97 MiB | C++ |
本题关联比赛 | |||
EYOI与SBOI开学欢乐赛10th |
关于 耍猴游戏 的近10条评论(全部评论) | ||||
---|---|---|---|---|
本来是为了暑期训练比赛准备的题,还把题解写好了,但是无奈因为疫情原因取消了,就直接把题解放出来吧 耍猴游戏
这一题和天使玩偶那一题很像,也可以做一做,还有 kd tree 解法,可以参考我的博客 Chumeng's Blog |
小 lhz 喜欢在下课的时候和神犇们一起玩 “耍猴” 游戏。具体来说,神犇们会互相传递一个足球,当小 lhz 追到足球时,“猴” 就会换人。
然而,小 lhz 的视力实在太差了,不知道足球在哪个神犇脚下,只知道各个神犇的位置,有的时候,神犇们在机房卷不动了,就会加入 “耍猴” 游戏的队伍,面对越来越多的神犇,小 lhz 必须抓紧时间了!
你的任务,就是写一个程序,让小 lhz 找到最近的神犇。
我们把小 lhz 和神犇们踢球的地方看作一个二维平面直角坐标系,而神犇会不定时的在某个点 $(i, j)$ 加入游戏。
小 lhz 会问你,假如他在一个点 $(x, y)$ ,那么他最近的神犇离他有多远?
小 lhz 只会沿着平行于坐标轴的方向移动,所以我们定义两个点的距离为曼哈顿距离。
第一行包括两个整数 $n$ 和 $m$,刚开始的时候,已经有 $n$ 个神犇在游戏中,接下来有 $m$ 个操作。 接下来 $n$ 行,每行有两个非负整数 $x$ 和 $y$,表示 $n$ 神犇们的位置。 在接下来 $m$ 行,每行有三个非负整数 $t$, $x$,$y$。 如果 $t = 1$,表示有一个神犇加入了游戏,它的位置为 $(x, y)$ 。 如果 $t = 2$,表示小 lhz 询问他如果在 $(x, y)$,那么他最近的神犇离他有多远?
对于每个操作 $t = 2$,输出一行一个整数,表示小 lhz 最近的神犇的距离。
2 3 1 1 2 3 2 1 2 1 3 3 2 4 2
1 2
$n, m \leq 5 \times 10^4$,$x, y \leq 1 \times 10^5$