51nod 1428 活動安排問題 題解

2021-08-09 18:21:53 字數 792 閱讀 6320

題目傳送門

好久沒寫了,刷題的時候看到了這個經典題,就來寫一下,我見過的原題叫校門外的樹。題意一樣,我們只要把一開始的時間的開始和結束節點排個序,然後一遍掃過去,如果是開頭就sum++,如果是節點就sum–,然後中途sum的最大值就是答案了。聽一些dalao說這叫做差分。

**:

#include

#include

#include

#include

#include

#define rep(i,a,n) for (int i=a;i<=n;i++)

#define per(i,a,n) for (int i=a;i>=n;i--)

#define clear(a,x) memset(a,x,sizeof(a))

#define ll long long

#define inf 2000000000

#define eps 1e-8

using

namespace

std;

int read()

const

int maxn=10005;

int n,sum,ans;

struct nodea[maxn<<1];

bool cmp(node a,node b)

sort(a+1,a+2*n+1,cmp);

rep(i,1,2*n)

printf("%d\n",ans);

return

0;}

51nod 1428 活動安排問題

1428 活動安排問題 有若干個活動,第i個開始時間和結束時間是 si,fi 同乙個教室安排的活動之間不能交疊,求要安排所有活動,最少需要幾個教室?input 第一行乙個正整數n n 10000 代表活動的個數。第二行到第 n 1 行包含n個開始時間和結束時間。開始時間嚴格小於結束時間,並且時間都是...

51Nod 1428 活動安排問題

acm模版 將所有開始時間和結束時間存入乙個陣列內,然後排序,最後從頭至尾遍歷,初始化flag 0,遇見開始時間則flag 反之則更新res並flag include include include using namespace std const int maxn 1e4 10 struct p...

51nod 1428 活動安排問題

有若干個活動,第i個開始時間和結束時間是 si,fi 同乙個教室安排的活動之間不能交疊,求要安排所有活動,最少需要幾個教室?input 第一行乙個正整數n n 10000 代表活動的個數。第二行到第 n 1 行包含n個開始時間和結束時間。開始時間嚴格小於結束時間,並且時間都是非負整數,小於10000...