| ||||||||||
| 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 | |||||||||
贴代码~~~765MS#include<iostream>
#include<algorithm>
using namespace std;
struct Dolls
{
int w;
int h;
};
int cmp(const Dolls &a, const Dolls &b)
{
if(a.w == b.w)
return a.h > b.h;
else
return a.w < b.w;
}
int main()
{
int T;
const int SIZE = 20001;
Dolls st[SIZE];
int b[SIZE];
cin >> T;
while(T--)
{
int n;
cin >> n;
for(int i = 0; i != n; ++i)
cin >> st[i].w >> st[i].h;
sort(st, st + n, cmp);
int len = 1;
b[1] = st[0].h;
int left, right, mid;
for(int i = 1; i != n; ++i)
{
left = 1;
right = len;
while(left <= right)
{
mid = (left + right) >> 1;
if(st[i].h <= b[mid])
left = mid + 1;
else
right = mid - 1;
}
b[left] = st[i].h;
if(left > len)
++len;
}
cout << len << endl;
}
return 0;
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator