zoj 2510 Concentric Rings(Greedy~)
2010-10-29 16:03
295 查看
在zoj论坛上随便翻贪心的题,发现这个了,CW昨天还说来着。
和活动安排是一样一样一样滴。。。只用看0点右边的就好了,内径和外径相当于起始时间和终止时间。
只不过这个是去掉最少的环数。
终于把sort怎么排序结构体弄会了,偶也~~
交了好多次,sort就是比qsort快!以后用sort吧~
就是那个头文件的那个单词不会背啊。。。算法的那个单词。。。algorithm~
和活动安排是一样一样一样滴。。。只用看0点右边的就好了,内径和外径相当于起始时间和终止时间。
只不过这个是去掉最少的环数。
终于把sort怎么排序结构体弄会了,偶也~~
交了好多次,sort就是比qsort快!以后用sort吧~
就是那个头文件的那个单词不会背啊。。。算法的那个单词。。。algorithm~
#include <stdio.h> #include <stdlib.h> #include <iostream> #include <string.h> #include <algorithm> using namespace std; struct circle { int begin,end; }circle[10001]; typedef struct circle CIR; //qsort的比较函数 int cmp( const void *a,const void *b) { return ((CIR*)a)->end - ((CIR*)b)->end; } //sort的比较函数 bool cmp1(CIR a, CIR b) { return a.end < b.end; } /**************************************************************************/ int n; int flag[10001]; void Greedy() //贪心。。 { memset(flag,0,sizeof(flag)); int j=0; flag[j] = 1; for(int i=1; i<n; i++) if( circle[i].begin >= circle[j].end ) { flag[i] = 1; j = i; } else flag[i] = 0; } int main(void) { while( cin >> n && n ) { int sum = 0; for(int i=0; i<n; i++) cin >> circle[i].begin >> circle[i].end; // sort(circle,circle+n,cmp1); qsort( circle, n, sizeof(CIR),cmp); Greedy(); for(int i=0; i<n; i++) if( flag[i] == 0 ) sum ++; cout << sum << endl; } return 0; }
相关文章推荐
- ZOJ 1638 Greedy Island
- ZOJ_3794_Greedy Driver(单源最短路)
- ZOJ 3794 Greedy Driver spfa
- ZOJ1161-Gone Fishing-greedy
- ZOJ 3794 Greedy Driver spfa
- ZOJ 3794 Greedy Driver spfa
- ZOJ 3794 Greedy Driver
- 水水水 zoj 2886 Look and Say
- 2013年5月11日 zoj比赛三道水题:zoj4998 Break Standard Weight && zoj5004 Hard to Play && zoj5006 Java Beans
- ZOJ 2301 / HDU 1199 Color the Ball 离散化+线段树区间连续最大和
- zoj--2770--Burn the Linked Camp(差分约束)
- zoj(Strange Calendar III)
- ZOJ 3710 Friends (map + set)
- Easy 2048 Again - ZOJ 3802 状压dp
- 【有源汇点上下界最大流】[ZOJ3229]Shoot the Bullet
- bfs ZOJ 1005 Jugs
- ZOJ 3657 The Little Girl who Picks Mushrooms
- ZOJ-3607
- Greedy:Jessica's Reading Problem(POJ 3320)
- ZOJ 1586 QS Network