Vijos P1369难解的问题
2015-07-17 21:33
309 查看
入门LIS。
练习题
练习题
#include<iostream> using namespace std; const int MAXN=300005; struct Node { long long int num; }; Node dp[MAXN]; int main() { int n,k,top=0,len=0; long long int temp; cin>>n>>k; dp[0].num=-1; for(int i=1;i<=k;i++) { cin>>temp; if(temp>dp[top].num) { dp[++top].num=temp; if(i==k) { len=top; } } else { int l=1,r=top,mid; while(l<=r) { mid=(l+r)/2; if(temp>dp[mid].num) { l=mid+1; } else { r=mid-1; } } dp[l].num=temp; if(i==k) { len=l; } } } dp[1].num=temp; top=1; for(int i=k+1;i<=n;i++) { cin>>temp; if(temp>dp[top].num) { dp[++top].num=temp; } else { int l=1,r=top,mid; while(l<=r) { mid=(l+r)/2; if(temp>dp[mid].num) { l=mid+1; } else { r=mid-1; } } if(l!=1) { dp[l].num=temp; } } } len=len+top-1; cout<<len<<endl; return 0; }
相关文章推荐
- 编写脚本:访问一网站,每5分钟访问一次,如果访问成功,将访问记录保存到日志,如果访问失败,则发送邮件至指定邮箱
- POJ 1636 Prison rearrangement
- openvswitch的安装和卸载
- Vijos P1571笨笨的导弹攻击
- 开发android中,去掉标题,禁止Activity旋转
- Android UI学习之TextView
- Vijos P1577可怜的Oliver
- hihocoder #1170 机器人 && 编程之美2015复赛
- Linux GCC常用命令
- 自己找一个好老师
- 木马程序猿学习笔记——红黑树解析3
- Android模拟器无法上网问题
- new 对象加括号和不加括号的区别
- iOS开发中获取上月的起止时间(NSCalendar、NSDateComponents和NSDate的使用)
- iproute2配置电信网通(策略路由)
- CSS3盒模型之box-sizing
- Android 开源框架Universal-Image-Loader完全解析(一)--- 基本介绍及使用
- 内存大小设置 Java heap space错误
- C++中智能指针的设计和使用
- android开发经验