首页 > 其他 > 详细

[Usaco2006 Open]County Fair Events 参加节日庆祝

时间:2018-02-04 18:31:19      阅读:186      评论:0      收藏:0      [点我收藏+]

Description

Farmer John has returned to the County Fair so he can attend the special events (concerts, rodeos, cooking shows, etc.). He wants to attend as many of the N (1 <= N <= 10,000) special events as he possibly can. He‘s rented a bicycle so he can speed from one event to the next in absolutely no time at all (0 time units to go from one event to the next!). Given a list of the events that FJ might wish to attend, with their start times (1 <= T <= 100,000) and their durations (1 <= L <= 100,000), determine the maximum number of events that FJ can attend. FJ never leaves an event early.

有N个节日每个节日有个开始时间,及持续时间. 牛想尽可能多的参加节日,问最多可以参加多少. 注意牛的转移速度是极快的,不花时间.

Input

  • Line 1: A single integer, N.

  • Lines 2..N+1: Each line contains two space-separated integers, T and L, that describe an event that FJ might attend.

Output

  • Line 1: A single integer that is the maximum number of events FJ can attend.

Sample Input

7

1 6

8 6

14 5

19 2

1 8

18 3

10 6

Sample Output

4

首先按结束时间排序,然后一路搜下去,发现一个节日的开始时间在所记录的结束时间之后,就参加这个节日,同时更新记录的结束时间(典型贪心思想)

#include<cmath>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define inf 0x7f7f7f
typedef long long ll;
typedef unsigned int ui;
typedef unsigned long long ull;
using namespace std;
inline int read(){
    int x=0,f=1;char ch=getchar();
    for (;ch<‘0‘||ch>‘9‘;ch=getchar())  if (ch==‘-‘)    f=-1;
    for (;ch>=‘0‘&&ch<=‘9‘;ch=getchar())   x=(x<<3)+(x<<1)+ch-‘0‘;
    return x*f;
}
inline void print(int x){
    if (x>=10) print(x/10);
    putchar(x%10+‘0‘);
}
const int N=1e4;
struct AC{
    int l,r;
    void join(int x,int y){l=x,r=y;}
    bool operator <(const AC &x)const{return r<x.r;}
}A[N+10];
int main(){
    int n=read();
    for (int i=1,x,y;i<=n;i++)   x=read(),y=read(),A[i].join(x,x+y);
    sort(A+1,A+1+n);
    int x=A[1].r,ans=1;
    for (int i=2;i<=n;i++)   if (A[i].l>=x)   x=A[i].r,ans++;
    printf("%d\n",ans);
    return 0;
}

[Usaco2006 Open]County Fair Events 参加节日庆祝

原文:https://www.cnblogs.com/Wolfycz/p/8413599.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!