LIS (n*logn)
来源:互联网 发布:尺度最大的网络女主播 编辑:程序博客网 时间:2024/05/18 14:42
#include <iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int maxn=1e6+10;int cnt=0,n,m,p,a[maxn],dp[maxn],b[maxn];int main(){ while(~scanf("%d",&n)) { for(int i=1; i<=n; i++) { scanf("%d%d",&m,&p); a[m]=p; dp[m]=1; } int l,r,mid,maxi=0,len=0; for(int i=1; i<=n; i++) { int num=a[i]; l=1; r=len; while(l<=r) { mid=(r+l)>>1; if(b[mid]<num) l=mid+1; else r=mid-1; } b[l]=num; dp[i]=l; if(l>len) len=l; if(dp[i]>maxi) maxi=dp[i]; } int maxx=0; for(int i=1; i<=n; i++) { maxx=max(maxx,dp[i]); } printf("%d\n",maxx); } return 0;}
0 0
- LIS (n*logn)
- LIS问题——n*logn解法
- Uva 10534 波浪串 --> LIS变形(n*logn)
- poj 1631 Bridging signals (LIS 之 n×logn 算法)
- POJ:2533 Longest Ordered Subsequence(LIS-n*logn解法)
- HDU:1950 Bridging signals(LIS-n*logn解法+思维)
- LIS 的 n*logn 写法并标记输出其中任意一个
- Poj 1631 n*logn 的最长上升子序列(LIS)算法
- HDU:1025 Constructing Roads In JGShining's Kingdom(LIS-n*logn解法+思维)
- HDU:5256 序列变换(LIS-n*logn解法+思维+技巧)
- HDU:5773 The All-purpose Zero(LIS-n*logn解法+思维+技巧)
- 1254 - lcs (n*logn)
- HDU:4521 小明系列问题——小明序列(LIS-n*logn解法变形+思维+技巧)
- LCA <O(N logN, O(logN)>
- O(logn*2^logn)和O(n*logn)算法
- 算法时间复杂度的白话解析----logN,N,N*logN
- LCS O(n logn)解法
- 归并排序 O(N*logN)
- 【小松教你手游开发】【系统模块开发】根据上一个GameObject坐标生成的tips界面
- 下面代码不能正确输出hello的选项为
- The remote SSH server rejected X11 forwarding request
- 正则表达式整理格式
- Bear and Three Balls(sort)
- LIS (n*logn)
- 《剑指offer》数组中出现次数超过一半的数字
- C语言const用法简介
- hdu 1159 Common Subsequence(最长公共子序列问题)
- redis哨兵
- Jump Game
- hdoj1070Milk(sort+结构体)
- 某个比赛:Problem H: 1的最少个数
- 【leetcode】136. Single Number