![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法总结文章
Sleppypot
困难的路越走越容易,容易的路越走越难。
展开
-
最长上升子序列
最长上升子序列,众所周知,是dp的经典问题。用简单的dp解决的复杂度是O(n方),用dp+二分的方法解决的复杂度是O(nlogn).1、转移方程:MaxLen (1) = 1MaxLen (k) = Max { MaxLen (i):12、假定存在一个序列d[1...9]=2 1 5 3 6 4 8 9 7,可以看出LIS长度为5。现在开始一步一步的找出原创 2017-02-23 14:33:07 · 222 阅读 · 0 评论 -
几种情况的二分写法
之前总是对二分的边界问题把握的不是很好,以致于出现死循环等问题。所以用这篇博文进行总结。首先,本文所用算法均为左闭右闭的算法,且数组是以非递减顺序排列的。1、查找是否存在关键值,如有相等的,则返回最左边的那个值的位置。否则,返回-1.代码如下:int binary_search_1(int a[], int n, int key){ int m, l = 0, r =原创 2017-02-23 13:48:45 · 2444 阅读 · 1 评论