# BZOJ 1664: [Usaco2006 Open]County Fair Events 参加节日庆祝( dp ) --------------------------------------------------------------------------------

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>

#define rep( i , n ) for( int i = 0 ; i < n ; i++ )
#define clr( x , c ) memset( x , c , sizeof( x ) )

using namespace std;

const int maxn = 10000 + 5;

struct data {
int l , r;
void Read() {
scanf( "%d%d" , &l , &r );
r += l - 1;
}
bool operator < ( const data &rhs ) const {
return r < rhs.r;
}
};

data A[ maxn ];

int dp[ maxn ];
int main() {
// freopen( "test.in" , "r" , stdin );
int n;
cin >> n;
rep( i , n )
A[ i ].Read();

sort( A , A + n );

rep( i , n ) {
dp[ i ] =1;
rep( j , i ) if( A[ j ].r < A[ i ].l )

dp[ i ] = max( dp[ i ] , dp[ j ] + 1 );

}
int ans = 0;
rep( i , n )
ans = max( ans , dp[ i ] );
cout << ans << "\n";
return 0;
}

--------------------------------------------------------------------------------

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

Time Limit: 5 Sec  Memory Limit: 64 MB
Submit: 262  Solved: 190
[Submit][Status][Discuss]

## 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.

## 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

INPUT DETAILS:

Graphic picture of the schedule:
11111111112
12345678901234567890---------这个是时间轴.
--------------------
111111 2222223333344
55555555 777777 666

## Sample Output

4

OUTPUT DETAILS:

FJ can do no better than to attend events 1, 2, 3, and 4.

## Source

posted @ 2015-06-07 12:23  JSZX11556  阅读(265)  评论(0编辑  收藏  举报