演講大廳安排
【問題描述】
有乙個演講大廳需要我們管理,演講者們事先定好了需要演講的起始時間和中止時間。我們想讓演講大廳得到最大可能的使用。我們要接受一些預定而拒絕其他的預定,目標是使演講者使用大廳的時間最長。假設在某一時刻乙個演講結束,另乙個演講就可以立即開始。
【程式設計任務】
計算演講大廳最大可能的使用時間。
【輸入格式】
第一行為乙個整數n,n<=5000,表示申請的數目。
以下n行每行包含兩個整數p,k,1<=p
【輸出格式】
乙個整數,表示大廳最大可能的使用時間。
【輸入樣例】 12
1 23 5
0 46 8
7 13
4 69 10
9 12
11 14
15 19
14 16
18 20
【輸出樣例】 16
【解題思路】
這其實相當於線段覆蓋問題。給出一堆線段,選出一些線段使它們之間兩兩不覆蓋,且所有線段覆蓋到的區域最大。
就是這樣。
我們可以先按照各個線段的左端點排序,f[i]表示前i條線段能覆蓋到的最優值;
那麼f[i]就等於它本身加上它前面的f值最大的那條線段的f值,其實有點像貪心的思路;
初始值f[i]=a[i].y-a[i].x;就是本身的價值。
#include #include #include using namespace std;
struct hha[5050];
int f[5050];
int cmp(hh a,hh b)
printf("%d",maxx);
}
演講大廳安排
problem description 有乙個演講大廳需要我們管理,演講者們事先定好了需要演講的起始時間和中止時間。我們想讓演講大廳得到最大可能的使用。我們要接受一些預定而拒絕其他的預定,目標是使演講者使用大廳的時間最長。假設在某一時刻乙個演講結束,另乙個演講就可以立即開始。程式設計任務,計算演講大...
演講大廳安排 題解
演講大廳安排 description 有乙個演講大廳需要我們管理,演講者們事先定好了需要演講的起始時間和中止時間。我們想讓演講大廳得到最大可能的使用。我們要接受一些預定而拒絕其他的預定,目標是使演講者使用大廳的時間最長。假設在某一時刻乙個演講結束,另乙個演講就可以立即開始。請依據演講者的申請,計算出...
大廳安排 normal
題意 有乙個演講大廳需要george管理,演講者們事先定好了需要演講的起始時間和中止時間。george想讓演講大廳得到最大可能的使用。我們要接受一些預定而拒絕其他的預定,目標自然是使演講者使用大廳的時間最長。為方便起見,假設在某一時刻乙個演講結束,另乙個演講就可以立即開始。計算演講大廳最大可能的使用...