HDU 1051 与1257类似 二维排序,然后贪心
2012-09-21 09:18
405 查看
#include <cstdio> #include <string> #include <algorithm> #include <iostream> using namespace std; typedef struct { int x, y; } node; bool cmp(node n1, node n2) { if(n1.x != n2.x) return (n1.x < n2.x); else return (n1.y < n2.y); } node a[5010]; int len = 0; int min(int *b) { int min = 1000000; for(int i = 0; i < len; i++) { if(min > b[i]) min = b[i]; } return min; } int maxIndex(int *b, int a) { int max = 0; int index = 0; for(int i = len -1; i >= 0; i--) { if(b[i] <= a && b[i] >= max) { max = b[i]; index = i; } } return index; } int main() { int t; cin >> t; while(t--) { len = 0; int n; cin >> n; int *b = new int[n+1]; for(int i = 0; i < n; i++) { scanf("%d%d", &a[i].x, &a[i].y); } sort(a, a+n, cmp); for(int i = 0; i < n; i++) { if(a[i].y < min(b)) { b[len++] = a[i].y; } else { b[maxIndex(b, a[i].y)] = a[i].y; } } cout << len << endl; delete [] b; } return 0; }
1050不能用这个方法,因为其起始点分为奇偶数
相关文章推荐
- HDU 1051 二维排序安排时间 (贪心||STL_set 水过)
- HDU 1677 与1257类似 排序 + 二分
- hdu acm 1051 贪心,排序,dilworth定理,最长递减序列长度
- hdu1051 Wooden Sticks贪心
- HDU 1051 Wooden Sticks 贪心
- HDU 4442 Physical Examination (贪心+排序)
- HDU_1050 1051 [贪心]_水
- HDU 1257最少拦截系统【贪心】
- HDU 1257 最少拦截系统 (贪心---求最长递减序列(不连续的))
- hdu 1051 Wooden Sticks(贪心)
- hdu 1051 Wooden Sticks 贪心
- Hdu 1051(贪心思想)
- 2017 Multi-University Training Contest - Team 1 1002&&HDU 6034 Balala Power!【字符串,贪心+排序】
- hdu 2037 贪心+结构体排序(备战LQB)
- hdu 1257 最少拦截系统 (贪心)
- hdu 1257 最少拦截系统(动态规划 / 贪心)
- 【HDU】1051 - Wooden Sticks(贪心 & 二分 || 动态规划)
- hdu 1257最少拦截系统(贪心)
- HDU 1051 Wooden Sticks 贪心
- 文章标题 HDU 1051 :Wooden Sticks (贪心)