Description
To play against the threats of malicious countries nearby, Country R has updated their missile defence system. The new type system can bring down a series of missiles as long as they are coming in ascending order by altitude or descending order by altitude.
Given the heights of a sequence of coming missiles, the general wants to know how many sets of the new type systems are needed to bring down all of them.
Input
The input consists of several test cases. The first line of each test case contains an integer n(1 ≤ n ≤ 50). The next line contains n different integers indicating the heights.
Output
For each test case output a single line containing the number of systems needed.
Sample Input
5
3 5 2 4 1
0
Sample Output
2
贪心+dfs
dfs很清楚,关键是贪心的部分。基本思想是
对于每一个元素,要么用增序来包含他,要么用降序来包含他。(dfs)
当用增序时,用一个比他小的,且最后一个最大(下界)的序列来包含他。(贪心)降序同理。

本文介绍了一种用于导弹防御系统的算法实现,通过分析导弹来袭高度序列,利用贪心算法结合深度优先搜索(DFS),确定所需的最少防御系统数量。文中详细阐述了算法原理,并提供了完整的C++实现代码。
1493

被折叠的 条评论
为什么被折叠?



