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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

贪心算法--会场安排问题

發(fā)布時間:2025/6/15 编程问答 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 贪心算法--会场安排问题 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

? ? ? ? ?會場用來安排活動,每個活動有一個開始時間和一個結束時間,在某個活動的開始時間到結束時間這段范圍內,其他活動不能再被安排,求最多能安排多少場活動。

#include<stdio.h> #include<stdlib.h>void GreedySelector(int n,int s[],int f[],int A[]){int i,j;A[1]=1;//第一個活動要選,第一個結束時間最短,A[i]=1表示第i個活動入選j=1;//j=1表示取第一個活動的結束時間for(i=2;i<=n;i++){ //用i遍歷每個活動if(s[i]>f[j]){ //這個活動的開始時間小于上個活動的結束時間A[i]=1;j=i;}else{A[i]=0;}} }int main(){int i;//每個活動按活動的結束時間進行排序int s[] = {0,1,3,0,5,3,5,6 ,8 ,8 ,2,12};//活動的開始時間int f[] = {0,4,5,6,7,8,9,10,11,12,13,14};//活動的結束時間int n=11,A[11];GreedySelector(n,s,f,A);for(i=1;i<=n;i++){if(A[i] == 1){printf("%d\n",i);}}return 0; }

運行結果:1? ?4? 8? 11? ? ? 這4個下標對應的活動

策略選擇:1.開始時間最早優(yōu)先(證明不可行)? ?2.占用時間少優(yōu)先(證明不可行)? 3.結束時間最早優(yōu)先(使用貪心算法可以得到最優(yōu)解)

?

學習地址:https://www.bilibili.com/video/BV1yT4y1u7Ju?from=search&seid=7410797215453072339

總結

以上是生活随笔為你收集整理的贪心算法--会场安排问题的全部內容,希望文章能夠幫你解決所遇到的問題。

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