摘要:        
求最长上升子序列,用动态规划的方法,转移方程为:D[i]=max{1,D[j]+1} j=1,2,...,i-1并且 A[j]<A[i]其实怎么用程序把他实现也是不简单的,思想真是伟大。解法二:这个算法其实已经不是DP了,有点像贪心。至于复杂度降低其实是因为这个算法里面用到了二分搜索。本来有N个数要处理是O(n),每次计算要查找N次还是O(n),一共就是O(n^2);现在搜索换成了O(logn)的二分搜索,总的复杂度就变为O(nlogn)了。这个算法的具体操作如下(by RyanWang):开一个栈,每次取栈顶元素top和读到的元素temp做比较,如果temp > top 则将te    阅读全文
posted @ 2011-09-09 20:10
张兰云
阅读(3200)
评论(3)
推荐(2)
        
 
                    
                
 
 浙公网安备 33010602011771号
浙公网安备 33010602011771号