#P13522. [KOI 2025 #2] 机器人
[KOI 2025 #2] 机器人
题目背景
试题来源:https://koi.or.kr/archives/。中文翻译做了少量本土化修改。
按照署名—非商业性使用—相同方式共享 4.0 协议国际版进行授权。
题目描述
在一条数轴上的不同位置设置了 个跳跃台。第 个跳跃台拥有一个固定的位置 和一个初始跳跃力量 。你将把一个机器人放置在这条数轴上的某个位置。
机器人会按照以下规则移动:
- 如果机器人所在的位置没有跳跃台,机器人会向左移动 1 个单位。这个过程消耗 1 单位时间。
- 如果机器人所在的位置有跳跃台,机器人会立即启动该跳跃台,并向右跳跃其力量值的距离。跳跃后,该跳跃台的力量会变为原来的两倍。这个过程消耗 1 单位时间。
例如,假设有 个跳跃台,设置如下。
跳跃台编号 | 位置 | 初始力量 |
---|---|---|
1 | 2 | |
2 | 5 | 3 |
机器人从初始位置 出发,移动 单位时间的过程如下。
时间() | 机器人位置 | 说明 | 跳跃台状态 |
---|---|---|---|
0 | 3 | 从初始位置开始。 | |
1 | 2 | 因为没有跳跃台,向左移动了 1 个单位。 | |
2 | 4 | 启动了位置 2 上的 1 号跳跃台,向右跳跃了 2 个单位。 | |
3 | 因为没有跳跃台,向左移动了 1 个单位。 | ||
4 | 2 | ||
5 | 6 | 启动了位置 2 上的 1 号跳跃台,向右跳跃了 4 个单位。 | |
6 | 5 | 因为没有跳跃台,向左移动了 1 个单位。 | |
7 | 8 | 启动了位置 5 上的 2 号跳跃台,向右跳跃了 3 个单位。 |
给定 个整数对 ()。对于每对整数,你需要编写一个程序,计算出机器人从位置 出发,经过恰好 单位时间后到达的位置。
每次查询都是独立计算的,并且总是从跳跃台的初始状态开始。也就是说,每次查询时,数轴上只有一个机器人,且所有跳跃台的力量都会重置为输入给定的初始值。
输入格式
第一行给定 。
接下来 行,每行给出一对整数。其中第 () 行给定了 和 ,以空格分隔。
接下来的一行给定 。
接下来 行,每行给出一对整数。其中第 () 行给定了 和 ,以空格分隔。
输出格式
输出 行。其中第 () 行输出机器人从 出发,经过恰好 单位时间后到达的位置。
2
2 2
5 3
7
3 1
3 2
3 3
3 4
3 5
3 6
3 7
2
4
3
2
6
5
8
3
-3 3
2 2
11 6
4
1 6
6 12
11 3
9 4
-1
2
15
5
提示
限制条件
- 所有给定的数都是整数。
- ()
- ()
子任务
- (5 分)
- (11 分)
- (6 分) 对于所有 和 ,满足 。
- (7 分) 对于所有 和 ,满足 $N, Q \le 3\,000, |X_i|, P_i \le 3\,000, |S_j|, T_j \le 3\,000$。
- (12 分)
- (23 分)
- (36 分) 无额外限制条件。