日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【动态规划】大厅安排 (ssl 1212)

發(fā)布時間:2023/12/3 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【动态规划】大厅安排 (ssl 1212) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

大廳安排大廳安排

Description

有一個演講大廳需要GEORGE管理,演講者們事先定好了需要演講的起始時間和中止時間。GEORGE想讓演講大廳得到最大可能的使用。我們要接受一些預定而拒絕其他的預定,目標自然是使演講者使用大廳的時間最長。為方便起見,假設在某一時刻一個演講結束,另一個演講就可以立即開始。

計算演講大廳最大可能的使用時間。

Input

第一行為一個整數(shù)n,n <= 100,表示申請的數(shù)目。

Output

一個整數(shù),表示大廳最大可能的使用時間。

Sample Input

12

1 2

3 5

0 4

6 8

7 13

4 6

9 10

9 12

11 14

15 19

14 16

18 20

Sample Output

16

題目大意:

有n個人打算在ai至bi時開一個演講,但只有一個場地,要使演講時間最長,不能分開

解題方法:

先用結束時間排序,再看一看此人演講的結果好,還是不演講好(具體在代碼里面講)

#include<cstdio> #include<iostream> #include<algorithm> using namespace std; int n,f[10005]; struct rec {int x,y; }a[105]; bool rep(rec xx,rec yy) {return ((xx.y<yy.y)||((xx.y==yy.y)&&(xx.x<yy.x)));//按結束時間從小到大排序,如果相同,再按開始時間從小到大排序 } int main() {scanf("%d",&n);for (int i=1;i<=n;i++)scanf("%d%d",&a[i].x,&a[i].y);//輸入sort(a+1,a+1+n,rep);//排序for (int i=1;i<=n;i++)//第i個人for (int j=a[i].y;j<=a[n].y;j++)//只有時間大于a[i].y才能讓這個人講,小于的無法排f[j]=max(f[a[i].x]+a[i].y-a[i].x,f[j]);//前面的是開始前加上這段時間,后面的是原數(shù)printf("%d",f[a[n].y]);//輸出 }

總結

以上是生活随笔為你收集整理的【动态规划】大厅安排 (ssl 1212)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。