什么是贪婪或动态的编程方法?

时间:2014-11-12 12:11:59

标签: algorithm dynamic-programming greedy

我们有一系列REAL数字。所有数字都是唯一的。我们希望通过更改其中的一些值来提升序列。我们可以更改任意数字。我们可以找到最佳算法来确定制作此序列的最小必要更改次数? 我们可以使用贪婪或动态编程方法。

1 个答案:

答案 0 :(得分:1)

首先找到增长最长的子序列http://en.wikipedia.org/wiki/Longest_increasing_subsequence

然后更改所有不属于此子序列的数字以符合规则

(证明:如果我们改变较少的数字并获得递增序列,那么未改变的数字最初会形成比'最长'更长的子序列