#P10087. [ROIR 2022] 跳跃机器人 (Day 1)
[ROIR 2022] 跳跃机器人 (Day 1)
Description
机器人的开发人员选择一个平台作为起始平台。如果机器人可以完成 次跳跃,回到原来的平台,他们认为实验是成功的。开发人员需要确定机器人的最小起始灵敏度是多少,并选择哪个平台作为起始平台。
Input Format
第一行包含一个整数 。
第二行包含一个整数 。
- 如果 ,则第三行包含 个整数 ,意义见题目背景。
- 如果 ,则第三行包含一个整数 ,以及三个整数 。第四行包含 个整数 。此时距离值 根据以下公式计算:
- 如果 ,则 。
- 如果 ,则 $d_i = ((x \times d_{i−2} + y \times d_{i−1} + z) \bmod 10^9) + 1$。
Output Format
输出两个整数,即最小允许的起始灵敏度 和可用于放置机器人的起始平台编号。如果有多个最小起始灵敏度对应的起始平台,可以输出任意一个。
5
1
3 7 4 2 5
4 3
10
2
5 1 2 3
1 2 3 4 5
653 1
Hint
样例说明:
在第二个示例中,距离数组为 。
根据公式计算 到 的值:
- $d_6 = ((1 \cdot d_4 + 2 \cdot d_5 + 3) \bmod 10^9) + 1 = ((1 \cdot 4 + 2 \cdot 5 + 3) \bmod 10^9) + 1 = 18$;
- $d_7 = ((1 \cdot d_5 + 2 \cdot d_6 + 3) \bmod 10^9) + 1 = ((1 \cdot 5 + 2 \cdot 18 + 3) \bmod 10^9) + 1 = 45$;
- $d_8 = ((1 \cdot d_6 + 2 \cdot d_7 + 3) \bmod 10^9) + 1 = ((1 \cdot 18 + 2 \cdot 45 + 3) \bmod 10^9) + 1 = 112$;
- $d_9 = ((1 \cdot d_7 + 2 \cdot d_8 + 3) \bmod 10^9) + 1 = ((1 \cdot 45 + 2 \cdot 112 + 3) \bmod 10^9) + 1 = 273$;
- $d_{10} = ((1 \cdot d_8 + 2 \cdot d_9 + 3) \bmod 10^9) + 1 = ((1 \cdot 112 + 2 \cdot 273 + 3) \bmod 10^9) + 1 = 662$。
本题使用捆绑测试。
| 子任务 | 分值 | 特殊性质 |
|---|---|---|
| 且保证从第一个平台开始跳是最佳选择 | ||
| 且保证从第一个平台开始跳是最佳选择 | ||
对于 的数据,。当 时 ,当 时 ,,。
注:本题的算法标签部分参考了官方题解中用到的解法。
京公网安备 11011102002149号