QOJ.ac

QOJ

Limite de temps : 2.5 s Limite de mémoire : 128 MB Points totaux : 100

#11299. 小鸟

Statistiques

在 Byteotian 线形森林中,有 $n$ 棵树排成一排。一只小鸟停在第一棵树的顶端,想要飞到最后一棵树的顶端。由于这只鸟非常小,它可能没有足够的体力一次性飞到终点。如果鸟当前停在第 $i$ 棵树上,它可以在一次飞行中飞到第 $i+1, i+2, \dots, i+k$ 棵树中的任意一棵,然后必须休息。

此外,向上飞行比向下飞行要困难得多。如果一次飞行结束的树的高度不低于起飞的树的高度,那么这次飞行就是“费力”的。否则,这次飞行就不费力。

目标是选择小鸟落脚的树,使得整个飞行过程最不费力,即“费力”的飞行次数最少。我们注意到鸟类是群居动物,这只小鸟还有几位鸟朋友也想从第一棵树飞到最后一棵树。所有鸟的体力各不相同,因此这些鸟朋友的参数 $k$ 可能不同。请帮助所有大大小小的鸟儿!

输入格式

第一行包含一个整数 $n$ ($2 \le n \le 1\,000\,000$),表示 Byteotian 线形森林中树的数量。第二行包含 $n$ 个整数 $d_{1}, d_{2}, \dots, d_{n}$ ($1 \le d_{i} \le 10^{9}$),由空格分隔,其中 $d_{i}$ 表示第 $i$ 棵树的高度。

第三行包含一个整数 $q$ ($1 \le q \le 25$),表示需要规划飞行路线的鸟的数量。接下来的 $q$ 行描述这些鸟:第 $i$ 行包含一个整数 $k_{i}$ ($1 \le k_{i} \le n-1$),表示第 $i$ 只鸟的体力。换句话说,第 $i$ 只鸟在必须休息前最多可以跨越的树的数量为 $k_{i}$。

在总分至少为 $l$ 的测试点中,$n \le 100\,000$。在总分至少为 $l$ 的子任务中,甚至满足 $n \le 1\,000$。

输出格式

程序应向标准输出打印 $q$ 行。第 $i$ 行应输出第 $i$ 只鸟最少需要的费力飞行次数。

样例

输入格式 1

9
4 6 3 6 3 7 2 6 5
2
2
5

输出格式 1

2
1

第一只鸟可以停在第 1, 3, 5, 7, 8, 9 棵树上。它的费力飞行次数为从第 3 棵树到第 5 棵树,以及从第 7 棵树到第 8 棵树的飞行。

样例评分测试

  • 1ocen: $n=11$, $q=1$, $k_{1}=5$, 所有树高度相同,答案为 2(在第 6 棵树停一次即可);
  • 2ocen: $n=100$, $q=2$, $k_{1}=5$, $k_{2}=6$, 树高在 1 和 2 之间交替——对于两只鸟来说,每 5 棵树停一次是最优的,每只鸟都有 11 次费力飞行;
  • 3ocen: $n=100$, $q=1$, $k_{1}=10$, 高度序列为:100, 99, …, 1,答案为 0;
  • 4ocen: $n=1,000,000$, $q=25$, $k_{i}=i$, $d_{1000}=d_{2000}=d_{3000}=\dots=d_{1000000}=2$,其余树满足 $d_{i}=1$。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.