hdu1677 Nested Dolls

来源:互联网 发布:mac桌面工具栏不见了 编辑:程序博客网 时间:2024/05/29 19:26

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1677


#include <stdio.h>#include <stdlib.h>#include <string.h>#define MAXN 20002struct node {int w,h;}dolls[MAXN];int dp[MAXN];int cmp(const void *x,const void *y){if((*(struct node *)y).w==(*(struct node *)x).w)return (*(struct node *)x).h-(*(struct node *)y).h;elsereturn (*(struct node *)y).w-(*(struct node *)x).w;}int main(){int test,n,i,j,k,left,right,mid,lenmax;scanf("%d",&test);while(test--){memset(dp,0,sizeof(dp));scanf("%d",&n);for(i=0;i<n;++i)scanf("%d %d",&dolls[i].w,&dolls[i].h);qsort(dolls,n,sizeof(dolls[0]),cmp);lenmax=0;for(i=0;i<n;++i){left=0;right=lenmax;while(left<right){mid=(left+right)/2;if(dp[mid]<=dolls[i].h)left=mid+1;elseright=mid;}dp[left]=dolls[i].h;if(left==lenmax)lenmax++;}printf("%d\n",lenmax);}return 0;}


原创粉丝点击