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