您的位置:首页 > 其它

poj 1065 贪心 或 dp

2015-11-09 13:31 302 查看
这题弄得我心情不好。。回头我再写思路。。先贴个代码

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <map>
using namespace std;
typedef pair<int,int> pii;
#define mp make_pair
#define fi first
#define se second
const int maxn = 5005;
const int maxl = 10005;
pii a[maxn];
int h[maxn];

int n,T;
int main(){
cin>>T;
while(T--){
scanf("%d",&n);
for (int i=1;i<=n;i++){
scanf("%d%d",&a[i].fi,&a[i].se);
}
sort(a+1,a+n+1);
int ans = 1;
h[ans-1] = a[1].se;
for (int i=2;i<=n;i++){
int flag = 0;
for (int j=0;j<ans;j++){
if (a[i].se >= h[j]){
h[j] = a[i].se;
flag = 1;
break;
}
}
if (flag == 0){
h[ans] = a[i].se;
ans ++;
}
}
cout << ans << endl;
}

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: