最长单调递增子序列( O(nlgn) )
来源:互联网 发布:python 杨辉三角 编辑:程序博客网 时间:2024/05/18 10:09
先学习一下别人的东西:http://blog.csdn.net/fisher_jiang/article/details/2442348
以上的比较理论,下边写一个题目
题目链接
- 题目大意:
这个题目的意思转换比较重要。原意是给定n个数,如果对于a > b,那么交换a、b(即冒泡排序的过程),此时在点a和点b之间加一条边。一直操作下去,最后可以得到一个图,求一下这个图的最大独立集。 - 分析:
最大独立集即这个集合中的每个点不能到达集合中的其他任意一个点,且最大。那么转换到题目中,即对于这个集合中的任意两个点,满足a < b,也就求一下最长上升子序列。然后结合一下题目的复杂度,需要的是 O(nlgn)的算法,也就是上边学过的。
int f[MAXN];int main(){// freopen("in.txt", "r", stdin); int n, t, cnt; while (~RI(n)) { cnt = 0; REP(kase, n) { RI(t); int ind = lower_bound(f, f + cnt, t) - f; f[ind] = t; //如果插入点在后边 if (ind == cnt) { cnt++; } } cout << cnt << endl; } return 0;}
5 0
- 最长单调递增子序列( O(nlgn) )
- 最长单调递增子序列( O(nlgn) )
- 最长递增子序列 O nlgn时间复杂度
- 最长递增子序列(二分法O(nlgn))
- 单调递增最长子序列 O(nlogn)
- 最长单调递增子序列O(nlogn)
- 最长单调递增子序列(O(n^2))
- 最长单调递增子序列O(NlogN)算法
- 最长单调递增子序列
- 最长单调递增子序列
- 最长单调递增子序列
- 最长单调递增子序列
- 最长单调递增子序列
- 最长单调递增子序列
- 最长单调递增子序列
- 单调递增最长子序列
- 单调递增最长子序列
- 最长单调递增子序列
- 【转】项目面试-如何介绍自己的项目
- 使用remote shell来执行command
- Service Manger的初始化分析
- xcode 常用使用技巧总结
- MYSQL数据库索引类型
- 最长单调递增子序列( O(nlgn) )
- C++:关于构造函数
- 阿狸系列图片
- 习近平历次讲话,都讲了什么
- 胖子伤不起
- ASP.NET 因为无法创建应用程序域,因此未能执行请求。错误号:0x80070002
- Posix线程编程指南
- Unix/Linux -shell&vim
- iOS程序进入后台后仍运行定时器NSTimer