Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
请大牛帮忙看看错的地方#include <iostream> #include <cstring> #include <cstdio> #include <algorithm> using namespace std; const int maxn=20050; int dp[maxn],n; struct tnode { int h,w; }node[maxn]; bool cmp(tnode a,tnode b) { if(a.h==b.h) return a.w<b.w; else return a.h>b.h; } int search(int l,int r,int v) { while(l<r) { int mid=(l+r)>>1; if(dp[mid]<v)l=mid+1; else r=mid; } return l; } int main() { // freopen("in.txt","r",stdin); int t; scanf("%d",&t); while(t--) { memset(dp,0,sizeof(dp)); scanf("%d",&n); for(int i=0;i<n;i++) scanf("%d%d",&node[i].h,&node[i].w); sort(node,node+n,cmp); int count=0; dp[0]=node[0].w; for(int i=1;i<n;i++) { if(dp[count]<=node[i].w) dp[++count]=node[i].w; else { int tem=search(0,count,node[i].w); dp[tem]=node[i].w; } } cout<<count+1<<endl; } } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator