最长下降子序列优化
来源:互联网 发布:骑士夺冠 知乎 编辑:程序博客网 时间:2024/06/06 19:09
预热
我们知道了$O(n^2)$的最长下降子序列方法,也知道树状数组版的方法,那么今天我又学了另一种方法(二分)。
方法
设P[i]表示这个最长下降子序列的第i个数,那么,对于要处理的a[i],通过二分求出它能够插入到p数组的哪个位置,然后还有可能使这个子序列变长。
代码
p[0]=2147483647;p[1]=a[1];ans=1;fo(i,2,n){ l=0;r=ans; while (l<r) { mid=(l+r)/2; if (a[i]<p[mid]) l=mid+1;else r=mid; } mid=(l+r)/2; while (a[i]>p[mid]) mid--; while (a[i]<p[mid]) mid++; p[mid]=a[i]; if (mid==ans+1) ans++;}printf("%d",ans);
3 0
- 最长下降子序列优化
- 最长下降子序列
- 最长下降子序列
- 最长下降子序列
- 【最长下降子序列+二分优化】免费午餐 rqnoj167
- CF 270D 最长不下降子序列 优化
- 最长不下降子序列及二分优化
- 关于最长不下降子序列的优化
- 最长不下降子序列
- poj1887(最长下降子序列)
- 最长上升下降子序列
- 最长不下降子序列
- 最长不下降子序列
- 最长不下降子序列
- POJ1887 最长下降子序列
- 最长不下降子序列
- 最长不下降子序列
- 最长不下降子序列
- 试题:基本算法题之【求1!+2!+3!+...+n!】
- SSH 常见权限设计一
- 单片机==数码管+蜂鸣器+炸弹(15)
- iOS-Main-(RAC演练)-循环引用
- 【C++研发面试笔记】23. 面向对象设计模式
- 最长下降子序列优化
- 如何关闭Eclipse按空格和等号键自动补全内容
- hdu 1286找新朋友
- 浅谈JavaScript中浏览器兼容的问题
- Javascript-类(一)
- C++各种容器特点总结
- POJ 2891(线性同余方程组的求解)
- velcocity中toolbox中的日期格式化工具
- 进入网站,跳出广告