会场用来安排活动,每个活动有一个开始时间和一个结束时间,在某个活动的开始时间到结束时间这段范围内,其他活动不能再被安排,求最多能安排多少场活动。

#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.开始时间最早优先(证明不可行)   2.占用时间少优先(证明不可行)  3.结束时间最早优先(使用贪心算法可以得到最优解)

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

贪心算法--会场安排问题相关推荐

  1. 贪心算法——会场安排问题

    假设要在足够多的会场里安排一批活动,并希望使用尽可能少的会场.设计一个有效的贪心算法进行安排. 输入:第1行有一个正整数k,表示有k个待安排的活动.接下来的k行中,每行两个正整数,分别表示k个待安排活 ...

  2. 贪心算法——活动安排、会场安排

    重要参数:结构体,当前时间time,cmp比较器 第一题--活动安排: 任务描述 学校的小礼堂每天都会有许多活动,有时间这些活动的计划时间会发生冲突,需要选择出一些活动进行举办.小刘的工作就是安排学校 ...

  3. 算法设计与分析——贪心算法——活动安排问题

    问题描述:设有n个活动的集合E={1,2,-,n},其中每个活动都要求使用同一资源,如演讲会场等,而在同一时间内只有一个活动能使用这一资源. 每个活动i都有一个要求使用该资源的起始时间si和一个结束时 ...

  4. 贪心算法-活动安排问题

    贪心算法总是作出在当前看来最好的选择.也就是说贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上的局部最优选择.当然,希望贪心算法得到的最终结果也是整体最优的.虽然贪心算法不能对所有问题都得到 ...

  5. 信息学奥赛第九节 —— 贪心算法(需要安排几位师傅加工零件 + 排队打水问题)

    贪心算法的特点 对于问题求解时,总是做出在当前来看是最好的选择的策略,即贪心算法不从整体来考虑问题.贪心算法与排序.高精度.背包等算法不同,没有一个特定的模板来表达贪心算法的过程. 贪心的步骤 抽象出 ...

  6. 区间贪心算法-——活动安排问题

    问题题目 设有n个活动的集合E={1,2,-,n},其中每个活动都要求使用同一资源,如演讲会场等,而在同一时间内只有一个活动能使用这一资源.每个活动i都有一个要求使用该资源的起始时间si和一个结束时间 ...

  7. 算法设计与分析【第七周】贪心算法 活动安排问题

    活动安排问题 设有n个活动的集合E={1,2,-,n},其中每个活动都要求使用同一资源,如演讲会场等,而在同一时间内只有一个活动能使用这一资源.每个活动i都有一个要求使用该资源的起始时间si和一个结束 ...

  8. Java 贪心算法 活动安排问题

    import org.junit.Test;/*** @auther qwh* @create 2022-11-21-21:39*/ public class test1 {public void s ...

  9. 【贪心算法】会场安排问题

    算法实现题 4-1 会场安排问题 假设要在足够多的会场里安排一批活动,并希望使用尽可能少的会场.设计一个有效的贪心算法进行安排.(这个问题实际上是著名的图着色问题.若将每一个活动作为图的一个顶点,不相 ...

最新文章

  1. 如果我是小白, 学Python要准备什么呢?
  2. python中的os abort_Python os.abort()用法及代码示例
  3. eclipse 配置java路径_Java修改eclipse中web项目的server部署路径问题
  4. C#与西门子PLC通讯
  5. 首发:友盟2015年Q2、Q3中国移动互联网趋势报告
  6. 师--链表的结点插入
  7. VS2005 TS SP1压缩整合完整版BT下载
  8. python五子棋代码tkinter_python使用tkinter开发一款五子棋游戏
  9. Android 动态生成布局 (多层嵌套)
  10. 统计单词个数 状态机方法
  11. TwinCAT 3 基础——安装
  12. 如何使用hMailServer+云服务器搭建个人邮箱
  13. Spring Hibernate Validation
  14. 深度指纹识别:通过深度学习破坏网站指纹防御
  15. Qt 之 Concurrent Run
  16. openfoam学习心得——openfoam编程进阶
  17. 慕尼黑大学计算机语言学,慕尼黑大学,斯图加特大学和萨尔大学的计算语言学硕士如何选择?...
  18. 容齐的身世_白发王妃漫夭和容齐是什么关系 女主容乐跟谁睡过遭扒可怜容齐...
  19. python 内置函数——排序
  20. (干货)各大AI竞赛 Top 解决方案开源汇总+大牛经验(Kaggle,Ali,Tencent、JD、KDD Cup...)

热门文章

  1. 【Kotlin】Kotlin 委托 ( 使用 by 关键字进行接口委托 )
  2. 2019-7-29 考试总结
  3. OpenCV+Qt+CMake安装+十种踩坑
  4. Redux入门之实现一个迷你版的Redux
  5. linux系统命令基础知识
  6. 英语学习APP的案例分析
  7. Codeforces Round #304 C(Div. 2)(模拟)
  8. python 添加类属性
  9. 所有的经历都是财富 --致我的2016
  10. 静态程序分析chapter1 - 概述和两个重要步骤