luogu#P7839. 「Wdoi-3」夜雀 singing
「Wdoi-3」夜雀 singing
题目背景
“唉,今天可真是多事的一天呢。不过一晚的忙碌结束了,接下来就是我尽展歌喉的时刻啦!”
作为幻想乡妖精中的一份子,米斯蒂娅在闲暇之余(也就是夜雀食堂闭店之后)也会去参加由夜雀们自发组织而成的夜雀歌会。夜雀们会按照一种约定好的方式进行歌唱。在今夜的歌会中,米斯蒂娅成为了歌会的组织者。
然而因为大家都是夜雀,因此所谓的“舞台”其实是由若干个高度不一的树组成的。夜雀都会飞(显然),因此它们可以不断地变换自己的位置。
然而,由于夜雀的数目实在是太多,以至于作为组织者的米斯蒂娅搞不清楚活动的组织方案了。你能帮帮她吗?
题目描述
我们可以将这 棵树从 到 编号。其中,在 个点上分布着参加舞会的夜雀。第 棵树的高度为 。
夜雀们的歌会一共会进行 时刻。第 个时刻,夜雀们只能在高度严格大于 的树上唱歌。因为这些树木都是事先被选择好的,因此总是有 。夜雀们每个时刻,可以选择站着不动,或移动到编号相邻的一棵树上(例如,原先在编号为 的树上的夜雀,下个时刻可以移动到编号为 或者 的树上。不过,她们不能移动到编号为 或 的树上)。初始时为第 时刻。也就是说,假使一个夜雀初始时在高度为 的树上,那么她下一时刻不得不去高度大于 的树上。
但这样一些夜雀可能无法顺利完成歌会,会遇到“无处可走”的情况,于是夜雀们决定选择若干个大树作为飞行点。如果一个夜雀到达了某个飞行点,那么下一时刻她除了能移动到编号相邻的树上,还能到达其他的飞行点。
然而,飞行点太多容易使得歌会变得非常混乱。因此,米斯蒂娅希望最小化飞行点的数目。你能帮帮她吗?
输入格式
第一行三个整数 。含义如题面所示。
第二行 个整数,第 个整数表示 。
第三行 个整数,第 个整数表示第 只夜雀的位置 。
输出格式
输出一行,一个整数,表示最少的飞行点数量。
5 3 4
1 2 1 4 5
5 3 2
2
10 7 9
8 1 1 5 13 10 1 1 6 3
2 4 7 10 6 8 9
3
提示
样例 1 解释
一个最优方案是,分别在第 棵树建立飞行点,下表为各夜雀的一个可行移动方案:
$$\def{\arraystretch}{1.8} \begin{array}{|c|c|c|c|} \hline \textsf{\textbf{夜雀编号}} & \textsf{\textbf{时刻 $0$ 所在位置}} & \textsf{\textbf{时刻 $1$ 所在位置}} & \textsf{\textbf{时刻 $2 \sim 4$ 所在位置}} \cr\hline \textsf1 & 5 & 5 & 5 \cr\hline \textsf2 & 3 & 2 & 5 \cr\hline \textsf3 & 2 & 5 & 5 \cr\hline \end{array}$$可以证明不存在更优解。
数据范围及约定
$$\def{\arraystretch}{1.6} \begin{array}{|c|c|c|c|}\hline \textbf{Subtask} & \bm{n\le} & \textbf{特殊性质} & \textbf{分值} \cr\hline 1 & 16 & - & 15 \cr\hline 2 & 5\times 10^5 & \text{A} & 5 \cr\hline 3 & 5\times 10^5 & \text{B} & 15 \cr\hline 4 & 10^3 & - & 25 \cr\hline 5 & 5\times 10^5 & - & 20 \cr\hline 6 & 5\times 10^6 & - & 20 \cr\hline \end{array}$$- 特殊性质 A:。
- 特殊性质 B: 且 。
对于 的数据,满足 ,,。保证 互不相同,且 。
提示
显然你可以将所有位置都作为飞行点,然后在第 1 时刻让所有夜雀都飞到一棵 的树来得到一组答案为 的合法解。因此本题不会存在无解情况。