贪心算法——NY 14 会场安排问题

活动安排问题(贪心算法及证明) 会场安排问题(贪心算法):贪心算法:在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当前状态有关。2.相关代码:#include<stdio.h> #define M 11 ... 阅读详情

1)   题目

会场安排问题

时间限制:3000 ms  |  内存限制:65535 KB

难度:4

描述

学校的小礼堂每天都会有许多活动,有时间这些活动的计划时间会发生冲突,需要选择出一些活动进行举办。小刘的工作就是安排学校小礼堂的活动,每个时间最多安排一个活动。现在小刘有一些活动计划的时间表,他想尽可能的安排更多的活动,请问他该如何安排。

输入

第一行是一个整型数m(m<100)表示共有m组测试数据。
每组测试数据的第一行是一个整数n(1<n<10000)表示该测试数据共有n个活动。
随后的n行,每行有两个正整数Bi,Ei(0<=Bi,Ei<10000),分别表示第i个活动的起始与结束时间(Bi<=Ei)

输出

对于每一组输入,输出最多能够安排的活动数量。
每组的输出占一行

样例输入

2

2

1 10

10 11

3

1 10

10 11

11 20

样例输出

1

2

提示

注意:如果上一个活动在t时间结束,下一个活动最早应该在t+1时间开始

 

2)    题意

两活动如果时间上有重叠,就会产生冲突,不能同时进行。给出一组活动时间表,求出最多可以安排多少活动。


3)    数据范围

测试数据组数小于100;

一组数据的活动数为n,1<n<10000,枚举不可行;

活动的开始时间为b和结束时间为e,0<=b<=e<=10000。


4)    算法

一个活动的信息有开始时间,持续时间,结束时间。

若优先选择开始时间早的,比如一个活动在0时开始,10000时结束,那么只能进行一个活动,显然不可行。

若优先选择持续时间短的,例如一组数据:

3

1 5

5 6

6 10

先选择的就是第二个活动,第一个和第三个就没法进行,所以也不可行。

若优先选择结束时间早的,这样就可以腾出尽可能多的时间供接下来的活动使用,可行。

所以使用贪心算法,优先选择结束时间早的活动。


5)    代码

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>

using namespace std;

#define SIZE 10005

struct Activity_Info
{
	int s;	//开始时间
	int e;	//结束时间
}acts[SIZE];

bool Cmp(const Activity_Info a, const Activity_Info b)
{
	return a.e < b.e;
}

int ArrangingActivities(int n)
{
	//按结束时间从小到大排序
	sort(acts, acts+n, Cmp);

	int count = 0;
	int currTime = -1;	//当前时间
	int i;
	for (i = 0; i < n; i++)
	{
		if (acts[i].s > currTime)
		{
			count++;
			currTime = acts[i].e;
		}
	}
	return count;
}

int main(void)
{
	int ncases;
	scanf("%d", &ncases);
	while (ncases-- != 0)
	{
		int n;
		scanf("%d", &n);

		int i;
		for (i = 0; i < n; i++)
		{
			scanf("%d%d", &acts[i].s, &acts[i].e);
		}

		printf("%d\n", ArrangingActivities(n));
	}
	return 0;
}

6)    测试数据

4

2

1 10

10 11

3

1 10

10 11

11 20

6

1 10

12 16

11 17

10 11

2 3

4 8

3

1 5

5 6

6 10


7)    提交结果


nyoj贪心算法 在nyoj上做了不少贪心算法的题了,作为一个很重要基础算法,贪心还是有很强的规律性的。在这篇博文里简单总结一下,欢迎大家多提宝贵意见。 阅读详情

相关推荐

贪心算法-会议室安排

package com.sibat.police.study.java.string; import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.stream.Collectors; /** * @Author: zhangrenyou * @Date: 2020/7/4 17:09 */ public class GreedMeeting { .

zry19950714的博客 1206

贪心算法②--使用贪心算法思想解会场租赁问题-python

Siruseri 政府建造了一座新的会议中心。许多公司对租借会议中心的会堂很 感兴趣,他们希望能够在里面举行会议。对于一个客户而言,仅当在开会时能够独自占用整个会堂,他才会租借会堂。会议中心的销售主管认为:最好的策略应该是将会堂租借给尽可能多的客户。显然,有可能存在不止一种满足要求的策略。例如下面的例子。总共有 4 个公司。他们对租借会堂发出了请求,并提出了他们所需占用会堂的起止日期(如下表所示)。公司名称 开始日期 结束日期公司1 4 9。

灰灰老师 790

【信息科学与工程学】计算机科学与自动化——第八十六篇 各类应用上云计算 01

数字孪生:核心是实时性不等式(Δ<Δt)与带宽-精度权衡。数学上归结为带约束的非线性优化。预测性维护:从物理退化方程(Paris 定律)出发,结合贝叶斯推断,云端训练用深度时序模型,边缘推理用轻量模型。机器人协同:本质是多商品流 + 动态障碍物,需用图论(冲突检测)+ 最优控制(轨迹平滑)。工业视觉:延迟由四个环节组成,需用排队论分析流水线瓶颈,量化感知是降低延迟的关键。液压/气动系统上云(涉及流体力学、热力学、控制)机械臂力控/阻抗控制上云(涉及动力学、力/位混合控制)

weixin_49199313的博客 200

会场安排问题(贪心算法)

假设要在足够多的会场里安排一批活动,并希望使用尽可能少的会场。设计一个有效的贪心算法进行安排。对于给定的k个待安排的活动,计算使用最少会场的时间表。 输入 第1行有1个正整数k,表示有k个待安排的活动。下来的k行中,每行有2个正整数,分别表示k个待安排的活动的开始时间和结束时间。时间以0点开始的分钟计。 输出 将计算出的最少会场数输出到。 样例输入 5 1 23 12 28 25 35 27 80 36 50 样例输出 3 #include <iostream> #include<

qq_47058302的博客 1065

贪心算法之会场安排问题.zip

贪心算法之会场安排问题,直接可运行,python文件

电力市场小白必看:手把手教你用Matlab实现市场出清电价计算(附完整代码)

本文为电力市场初学者提供了使用Matlab计算市场出清电价的完整指南。通过Yalmip和Matpower工具包,详细讲解了从环境配置到模型构建、求解及结果分析的整个过程,帮助读者快速掌握节点电价计算的核心技术。

weixin_30379531的博客 73

贪心算法解决会场安排问题

假设最优解不含贪心选择,即最优解A的某个活动a所选择的会场r‘不是结束时间最早的会场r,由于r的结束时间小于r’,a能在r中进行,说明a必定能在r中进行,因此用r代替r‘的结果(A-{r’})∪{r}仍是一个最优解,即最优解包含贪心选择,与假设矛盾。if B[m]>=E[k] //会议m的开始时间不小于会议k的结束时间。then A=A∪{m} //将会议m加入到集合A中。会场安排问题的要求在所给的会议集合中选出最大的相容活动自己,也即尽可能地选择更多的会议来使用资源。

m0_73176089的博客 1051

别再纠结Dify了!实测对比RAGFlow和Dify,聊聊企业知识库到底该怎么选

本文深度对比了RAGFlow和Dify在企业知识库选型中的实际表现,从技术架构、性能指标、部署成本等多维度进行分析。RAGFlow在复杂文档处理和准确率方面表现突出,适合有专职技术团队的企业;而Dify则以低门槛和快速部署见长。文章提供了六维度评估法,帮助企业根据文档复杂度、准确率要求等技术指标做出明智选择。

weixin_30897233的博客 669

ny14---会场安排问题

会场安排问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:4 描述 学校的小礼堂每天都会有许多活动,有时间这些活动的计划时间会发生冲突,需要选择出一些活动进行举办。小刘的工作就是安排学校小礼堂的活动,每个时间最多安排一个活动。现在小刘有一些活动计划的时间表,他想尽可能的安排更多的活动,请问他该如何安排。 输入第一行是一个整型数m(m 每组测试数据的

feu 212

五.卡尔曼滤波器(EKF)开发实践之五: 编写自己的EKF替换robot_pose_ekf中EKF滤波器

本系列文章主要介绍如何在工程实践中使用卡尔曼滤波器,分五个小节介绍: 一.卡尔曼滤波器开发实践之一: 五大公式 二.卡尔曼滤波器开发实践之二: 一个简单的位置估计卡尔曼滤波器 三.卡尔曼滤波器(EKF)开发实践之三: 基于三个传感器的海拔高度数据融合 四.卡尔曼滤波器(EKF)开发实践之四: ROS系统位姿估计包robot_pose_ekf详解 五.卡尔曼滤波器(EKF)开发实践之五: 编写自己的EKF替换robot_pose_ekf中EKF滤波器 也就是本文 ...

okgwf的博客 4136

S32K324 Stack异常分析及解决方案

在项目开发过程中,在一次软件变更时,调整了task优先级之后导致应用层软件中的float数据经常性的变为NAN,导致应用层功能失效。本文记录下这个bug的分析及解决过程。该问题排查了好几天,最开始正向排查不出来,差点放弃了,ETAS OS也没有人支持,只能换一种思路,通过反向推,最终定位到问题,能完美解决,还是很欣慰的。遇到问题不可怕,Bug一直都会有,主要是在解决问题中的思路和方法,不断总结积累,总会越来越好的!

赞的博客 597

ACM题目

1、矩形嵌套时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 有n个矩形,每个矩形可以用a,b来描述,表示长和宽。矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a2、单调递增最长子序列时间限制:3000 ms | 内存限制:65535 KB 难度:4描述 求一个字符串的最长递增子序列的长度 如:dabdbf最长递增子序列就是abdf

上官宏竹的专栏 946

某验SVG图标验证码识别思路(非训练)

本文提出了一种无需训练的某验SVG图标验证码识别方法。通过分析SVG文件结构,使用正则表达式提取静态图标数据,并借助CairoSVG库转换为PNG格式。随后采用坐标定位方式裁剪出12个固定位置的图标,最后利用ResNet50提取特征,通过余弦相似度匹配目标图标。该方法避免了训练目标检测模型,实现了高效准确的验证码识别。关键步骤包括SVG文件预处理、图标定位裁剪和基于预训练模型的相似度比对。

九月镇灵将的博客 417

2.4高级钟点秘书 时间安排贪心算法

所谓“钟点秘书”,是指年轻白领女性利用工余时间为客户提供秘书服务,并按钟点收取酬金。 “钟点秘书”为客户提供有偿服务的方式一般是:采用电话、电传、上网等“遥控”式服务,或亲自到客户公司处理部分业务。其服务对象主要有三类:一是外地前来考察商务经营、项目投资的商人或政要人员,他们由于初来乍到,急需有经验和熟悉本地情况的秘书帮忙;二是前来开展短暂商务活动,或召开小型资讯发布会的国外客商;三是本地一些请不...

孤木不成林 695

【光伏风电功率预测】基于 ICEEMDAN + MSCNN-BiGRU-Attention 的并行预测模型

本文提出一种基于ICEEMDAN分解与多尺度深度学习的光伏/风电功率并行预测框架。针对多能源、多时间尺度、强非平稳特性带来的建模挑战,该模型首先通过改进的ICEEMDAN算法将原始功率序列分解为不同频段的IMF分量;随后为每个IMF构建包含多尺度CNN、双向GRU和注意力机制的子模型,实现局部特征提取与时序依赖建模;最后通过并行预测与重构获得最终功率输出。实验表明,该方法能有效解决模式混叠问题,提升预测精度,并支持光伏/风电的独立或联合预测部署,适用于风光联合调度等工程场景。

专注AI大模型,软件混淆,授权 154

华为OD新系统机试真题 - API请求日志去重分析

华为OD新系统机试真题【API请求日志去重分析】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD4月15号机试真题【API请求日志去重分析】

qq_45776114的博客 914

ny220 推桌子

推桌子 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述The famous ACM (Advanced Computer Maker) Company has rented a floor of a building whose shape is in the following figure. The floor has 200 rooms eac...

weixin_33943347的博客 88

(四)DDR协议命令波形时序一——(ACT、Read、Write)

文章目录一、DDR命令真值表二、ACT激活命令时序要求2.1、ACTIVATE波形——tRRD、tFAW2.2、ACTIVATE波形——tRAS、tRC三、Read命令时序要求3.1、Read 波形——无Additive Latency3.2、Read 波形——有Additive Latency3.3、Read 波形——Additive Latency使用场景 一、DDR命令真值表 DDR的Command命令由CKE、CS#、RAS#、CAS#、WE#信号组成,这几个信号进行不同的搭配组合会形成不同的Co

Mr.翟的博客 6867

编程竞赛经典算法题解析与实战(74题C++)

本文摘要包含60个编程问题的解决方案,涵盖算法、数据结构、动态规划、搜索等计算机科学核心内容。主要涉及:1) 位操作与数学问题(如二进制1的计数、素数判断);2) 贪心算法应用(活动安排、背包问题);3) 动态规划(最长子序列、矩阵连乘);4) 搜索算法(DFS/BFS解决迷宫问题);5) 排序与二分查找;6) 经典问题(约瑟夫环、股票买卖)。每个问题都提供C++实现代码,展示了不同算法思想在实际问题中的应用。

我是浙江财经大学软件工程专业的藏族本科学生,初次进入到这个互联网行业还请各位大佬多多指点我 176

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

蓝桥杯国赛A~D题深度复盘:从模拟、数据结构到搜索与动态规划

算法竞赛是检验编程思维与工程实践能力的重要途径,其核心在于将实际问题抽象为可计算模型,并运用高效的数据结构与算法加以解决。从基础概念出发,模拟题考察对问题规则的精确把控,数据结构(如栈、队列、哈希表)则是实现高效操作与状态管理的基石。深入理解动态规划的状态定义与转移方程,以及搜索算法(DFS/BFS)的剪枝与优化,是解决复杂问题的关键技术。这些原理在任务调度、路径规划、资源分配等工程场景中具有广泛应用价值。本文以蓝桥杯国赛真题为例,结合**模拟**与**动态规划**等热词,系统复盘A~D四道赛题的解题策略、

weixin_33979203的博客 310

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

会场安排问题(PTA可过)

假设要在足够多的会场里安排一批活动,并希望使用尽可能少的会场。设计一个有效的 贪心算法进行安排。(这个问题实际上是著名的图着色问题。若将每一个活动作为图的一个 顶点,不相容活动间用边相连。使相邻顶点着有不同颜色的最小着色数,相应于要找的最小 会场数。) 输入格式: 第一行有 1 个正整数k,表示有 k个待安排的活动。 接下来的 k行中,每行有 2个正整数,分别表示 k个待安排的活动开始时间和结束时间。时间 以 0 点开始的分钟计。 输出格式: 输出最少会场数。 输入样例: 5 1 23 12 28 25 3

Sophis_ticate的博客 4572

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

贪心算法实现会场安排问题

算法概述:   贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。   贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当前状态有关。 问题概述: 学校的小礼堂每天都会有许多活动,

scwMason的博客 3602

会场安排问题贪心算法

问题描述: 假设要在足够多的会场里安排一批活动,并希望使用尽可能少的会场。设计一个有效的贪心算法进行安排(这个问题实际上是著名的图着色问题。若将每一个活动作为图的一个顶点,不相容活动间用边相连。使相邻顶点着有不同颜色的最小着色数,相应于要找的最小会场数)。 问题解答: 、用贪心选择策略解会场安排问题。 贪心算法重要的两个性质:贪心选择性质和最优子结构性质。 1、 问题的贪心选择性质

jiyang_1的博客 2万+

贪心算法-会议安排问题

贪心算法特点: 1、总是作出在当前看来最好的选择。 2、从局部的最优选择到整体最优解。 基本要素: 1、最优子结构性质 2、贪心选择性质 贪心算法与动态规划的差异: 相同点:都具有最优子结构性质。 区别: 动态规划:每步所作选择依赖于相关子问题的解(自底向上) 贪心算法:仅在当前状态下作出最好选择(局部最优选择、自顶向下) 会议安排问题: (1)对于每个会议i,起始时...

HeinSven的博客 5415
上一篇: 动态规划——Poj 1651 Multiplication Puzzle
下一篇: 动态规划——最长上升子序列
庞老板
博客等级 码龄15年 127粉丝 66原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

庞老板

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值