loj#P4810. 「RMI 2024」Jump Civilization
「RMI 2024」Jump Civilization
题目描述
题目译自 Romanian Master of Informatics 2024 Day2 T3 「Jump Civilization」
「Here in
ParkourJump Civilization, No One Chooses to Jump for the Beef」—— Evbo -《跑酷文明》电影
在跑酷文明的世界里,有 个漂浮的岛屿,编号从 到 。当你站在岛屿 上,你可以选择:
- 简单跳跃:从岛屿 跳到旁边的岛屿 ;
- 困难跳跃:从岛屿 跳到岛屿 ,其中 。
为了在跑酷文明中提升等级,你需要计算每个岛屿的跳跃能力。岛屿 的跳跃能力是指从岛屿 开始,最多使用 次跳跃能够到达的岛屿数量。
上一任跳跃冠军为了确保跳跃路线的公平性,设定了一条重要规则:对于任意 ,要么 ,要么 。
作为跑酷文明的一员新手,你希望高效地算出每个岛屿的跳跃能力——你能做到吗?
输入格式
输入的第一行包含两个空格分隔的整数 和 。
第二行包含 个空格分隔的整数 ,表示每个岛屿的困难跳跃目标。
输出格式
输出一行,包含 个空格分隔的整数,按顺序表示每个岛屿的跳跃能力。
5 1
4 3 4 5
3 2 2 2 1
从岛屿 开始:
- 不跳跃,可以到达岛屿 ;
- 跳跃一次,可以到达岛屿 (简单跳跃)或岛屿 (困难跳跃)。
总共能到达 个岛屿,因此岛屿 的跳跃能力是 。
6 2
2 3 5 5 6
3 4 4 3 2 1
数据范围与提示
对于所有输入数据,满足:
- 对于 ,满足 或 。
- 如果从岛屿 出发,通过两种不同路径在最多 次跳跃内都能到达岛屿 ,在计算岛屿 的跳跃能力时,岛屿 只计数一次。
- 计算跳跃能力时,跳跃类型(简单或困难)不重要,只看跳跃次数。
详细子任务附加限制及分值如下表所示。
子任务 | 分值 | 附加限制 |
---|---|---|
且 | ||
对于 , | ||
无附加限制 |