1 #include<stdio.h>
 2 int a[100005],b[100005],maxlen[100005];
 3 void sort(int l,int r)
 4 {
 5     int i,j,x,y,x1,y1;
 6     i=l; j=r;
 7     x=a[(i+j)/2]; x1=b[(i+j)/2];
 8     while (i<=j)
 9     {
10         while ((a[i]<x)||(a[i]==x&&b[i]<x1)) i++;
11         while ((x<a[j])||(x==a[j]&&x1<b[j])) j--;
12         if (i<=j)
13         {
14             y=a[i]; a[i]=a[j]; a[j]=y;
15             y=b[i]; b[i]=b[j]; b[j]=y;
16             i++; j--;
17         }
18     }
19     if (l<j) sort(l,j);
20     if (i<r) sort(i,r);
21 }
22 int main()
23 {
24     int t,i,j,n,max;
25     while (~scanf("%d",&t))
26     while (t--)
27     {
28         scanf("%d",&n);
29         for (i=1;i<=n;i++) scanf("%d%d",&a[i],&b[i]);
30         sort(1,n);
31         for (i=1;i<=n;i++)
32         {
33             max=0; 
34             for (j=1;j<i;j++)
35              if (b[j]>b[i]&&maxlen[j]>max) max=maxlen[j];
36             maxlen[i]=max+1; 
37         }
38         max=0;
39         for (i=1;i<=n;i++)
40          if (maxlen[i]>max) max=maxlen[i];
41         printf("%d\n",max); 
42     }
43 }

http://acm.hdu.edu.cn/showproblem.php?pid=1051

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-04
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-10-05
  • 2022-12-23
  • 2022-12-23
  • 2021-12-18
  • 2021-11-19
  • 2022-12-23
相关资源
相似解决方案