hdu 1025 Constructing Roads In JGShining's Kingdom (O(nlogn) 求LIC)

2014-11-24 08:35:46 · 作者: · 浏览: 0

具体看    这里

题目就是要让两个序列都递增。

那么放入数组之后 下标递增的同时 值也递增


#include 
  
   
#include 
   
     #include 
    
      #include 
     
       using namespace std; int save[500005]; int len_min[500005]; int n; int bin(int l,int r,int key) { int mid; while(l
      
       >1; if(len_min[mid]
       
        =save[i])len_min[k]=save[i]; else len_min[top++]=save[i]; } return top; } int main() { int kase=1; while(scanf("%d",&n)!=EOF) { for(int i=1;i<=n;i++) { int x,y; scanf("%d%d",&x,&y); save[x]=y; } int ans=LIS(); printf("Case %d:\n",kase++); if(ans==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",ans); } return 0; }