hdu 1025 Constructing Roads In JGShining's Kingdom 最长上升序列nlogn
2015-09-10 10:31
507 查看
[code]#include<bits/stdc++.h> using namespace std; int d[500000+5],a[500000+5]; int Binary_search(int s,int t,int i) { int mid; while(s<t) { mid=(s+t)>>1; if(i>=d[mid]) s=mid+1; else t=mid; } return s; } int main() { int i,n,b,p,r,k,cas=0; while(~scanf("%d",&n)) { for(i=0; i<n; i++) { scanf("%d%d",&p,&r); a[p]=r; } b=1; memset(d,0,sizeof(d)); d[0]=a[1]; for(i=2; i<=n; i++) { k=Binary_search(0,b-1,a[i]); if(d[k]>=a[i]) d[k]=a[i]; else d[b++]=a[i]; } printf("Case %d:\n",++cas); if(b==1) printf("My king, at most 1 road can be built.\n\n"); else printf("My king, at most %d roads can be built.\n\n",b); } return 0; }
相关文章推荐
- mina的HTTP性能测试
- 论volatile
- 浅析C++中的static
- hdu 1025 Constructing Roads In JGShining's Kingdom 最长上升序列nlogn
- linux sock_raw原始套接字
- 如何创建phpinfo查看php信息?
- MySQL查询优化-explain
- JSP 6个常用标签
- Scanner学习总结
- c++文件操作:2深入
- 使用achartengine绘制折线图
- 神经性皮炎如何治疗
- Android 更新UI的两种方法——handler和runOnUiThread()
- error:/usr/bin/ld:skipping incompatible ./libxxxx.so
- http下载文件中文文件名在firefox下乱码问题[转]
- linux下如何登录校园网瑞捷有线
- 分布式事务
- C语言中的越界问题解析
- 自动改变左侧面板大小
- 基础学习day05---面向对象一类,对象、封装