我们有一系列REAL数字。所有数字都是唯一的。我们希望通过更改其中的一些值来提升序列。我们可以更改任意数字。我们可以找到最佳算法来确定制作此序列的最小必要更改次数? 我们可以使用贪婪或动态编程方法。
答案 0 :(得分:1)
首先找到增长最长的子序列http://en.wikipedia.org/wiki/Longest_increasing_subsequence
然后更改所有不属于此子序列的数字以符合规则
(证明:如果我们改变较少的数字并获得递增序列,那么未改变的数字最初会形成比'最长'更长的子序列