![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
二分法
木白星枝
这个作者很懒,什么都没留下…
展开
-
二分法
参考了一下这个大佬的博客,很厉害https://blog.csdn.net/zxzxzx0119/article/details/82670761然后下面就是自己总结的二分法代码模板了#include<bits/stdc++.h>using namespace std;//一.通用的二分法模板,两端的范围是整形//1.最普通的二分写法,范围[L,R]i...原创 2019-04-30 13:03:21 · 102 阅读 · 0 评论 -
upper_bound和lower_bound函数的用法
lower_bound和upper_bound都是是基于二分法实现的,可以手写二分,也可以直接用,省时,,,#include<bits/stdc++.h>using namespace std;int main(void){ int n=10,key=7; int p[10]= {0,1,2,3,4,5,6,7,15,34}; sort(p,p+...原创 2019-06-02 21:31:01 · 212 阅读 · 0 评论 -
最长上升子序列的长度(LIS)
O(NlogN)做法:贪心+二分 (该想法是在O(n^2)的动态规划中进一步演化而来)p[i]表示第i个元素,dp[i]表示长度为i+1的LIS结尾元素的最小值利用贪心的思想,对于一个上升子序列,最后面的一个元素越小,越有利于添加新的元素,这样LIS长度更长,所以我们要维护dp数组,其表示的就是长度为i+1的LIS结尾元素的最小值,保证每一位都是最小值,这样dp数...原创 2019-06-03 10:56:45 · 394 阅读 · 0 评论