活动选择(贪心算法基础)

算法导论_16.1 活动选择(贪心算法) 贪心算法: 最优化问题的算法往往都包含一系列的步骤,每个步骤都要做出最优化的选择(相对全局来说也是最优的); 贪心算法所做的选择看起来是当前最佳的,(相对于局部来讲是最佳的, 相对于全局来讲并不是最佳的),贪心算法希望通过局部的最优解得到一个全局最优解; 注意:贪心算法有时候你能够产生全局最优解,有时候并不能产生全局最优解; 一种称为拟阵的组合结构, 对于这种结构, 贪心算法总是能够给出最优解; 一、活动选择问题 n个活动, S = {a1, a2, …, an}; 每个活动有, 开始时间: s1, s2, 阅读详情

题目如下图所示
在这里插入图片描述
代码思路很简单,就是将活动按照结束的时间进行排序,然后找不相交的几个时间段,输出即可。这里只是需要注意一点,就是:结束时间一样的活动按照原来的顺序排序,如果使用选择排序的话,由于选择排序是不稳定的排序,需要添加新的条件。

#include <iostream>
using namespace std;
struct node {
   
   
    int Id;
    int Begin;
    int End;
} activity[110], temp;
int main() {
   
   
    int n;
    scanf("%d", &n);
    for(int i 
贪心算法(一) 解决最优化问题的算法一般包含一系列的步骤,每一步都有若干的选择。对于很多最优化问题,只需要采用简单的贪心算法就可以解决,而不需要采用动态规划方法。贪心算法使所做的局部选择看起来都是当前最佳的,通过局部的最优化选择来产生全局最优解。本文将介绍贪心算法的理论基础和一些简单应用。 一般地,可以根据以下步骤来设计贪心算法: 将最优化问题转化为这样一个问题,即先做出选择,再解决剩下的一个子问题。 证明... 阅读详情

相关推荐

1323:【例6.5】活动选择 2020-12-01

1323:【例6.5】活动选择 时间限制: 1000 ms 内存限制: 65536 KB【题目描述】 学校在最近几天有n个活动,这些活动都需要使用学校的大礼堂,在同一时间,礼堂只能被一个活动使用。由于有些活动时间上有冲突,学校办公室人员只好让一些活动放弃使用礼堂而使用其他教室。 现在给出n个活动使用礼堂的起始时间begini和结束时间endi(begini<endi),请你帮助办公室人员安排一些活动来使用礼堂,要求安排的活动尽量多。【输入】 第一行一个整数n(n≤1000); 接下来的...

lybc2019的博客 1018

贪心算法解决活动安排问题实战详解

活动安排问题(Activity Selection Problem)旨在从一组具有起始时间和结束时间的活动中,选出最大互不冲突的子集。设共有 $ n $ 个活动,每个活动 $ i $ 由区间 $[s_i, f_i)$ 表示,其中 $ s_i $ 为起始时间,$ f_i $ 为结束时间。若两活动区间不重叠(即 $ f_i \leq s_j $ 或 $ f_j \leq s_i $),则可同时被选中。输入定义:- 一组活动 $ \mathcal{A} = {a_1, a_2, …, a_n} $

weixin_29092787的博客 669

RenderDoc实战:5分钟搞定安卓Vulkan应用抓帧(含常见连接失败排查)

本文详细介绍了如何使用RenderDoc工具对安卓Vulkan应用进行抓帧分析,包括环境配置、完整抓帧流程及常见连接问题的解决方案。通过实战案例和高级技巧,帮助开发者快速定位渲染问题和性能瓶颈,提升移动图形开发效率。

weixin_28318011的博客 281

Gamit 数据处理,相关的文件配置

一、处理前准备 1、在主文件夹内新建test项目文件,项目内新建brdc、igs和rinex三个文件夹,分别存放广播星历,精密星历几观测值文件,所用的命令分别为sh_get_nav、sh_get_orbits和sh_get_rinex (若文件为.Z,用gunzip命令解压,若仍为d,用命令sh_crx2rnx -f 命令解压为o文件) 2、进入test项目文件夹,链接tables,运行 sh_setup -yr 2015 -apr itrf08_com.apr 3、生成station.info文件。 将t

CodeDoraemon的博客 3375

学习记录-Simpack生成车轮不圆的几种示例

单阶、多阶和实测车轮多边形的添加教程

weixin_51965897的博客 3705

Excel插件开发实战:从零封装一个带自定义Ribbon的.xlam工具包

本文详细介绍了如何从零开发一个带自定义Ribbon的Excel插件.xlam工具包。通过VBA和XML技术,读者将学习到插件架构设计、Ribbon界面定制、模块化开发以及企业级部署策略,帮助提升Excel自动化办公效率。

weixin_42531128的博客 516

国外无人机蜂群作战典型战例及发展趋势

参与袭击的无人机为简易组装的固定翼飞机,采用小排量活塞发动机和手机GPS通信模块零件,机翼为轻木加泡沫板混合结构,尾梁为铝合金方管,主要依靠胶带粘接,以上全部配件均可在商用市场买到,成本较低,可在短时间内装配完成。③战场纵深短、瞬时性强。蜂群作战的参战数量显著增加,这一方面得益于无人机技术的飞速发展使得廉价无人机可以大量生产和仿制,另一方面凭借迅速发展的投放和回收技术以及集群控制技术,使得无人机蜂群可在极短时间内实现编队饱和攻击,在快速消耗敌方高价值防空武器系统的同时,保证己方物资系统的突防概率。

renhongxia1的博客 2479

用gm/Id方法设计简单折叠式共源共栅放大器

gm/Id

qq_45541367的博客 2万+

科技英语/专业英语——改错总结【2】

1.固定句式 make it + adj + 句子 例:These features make the electronic systems difficult to intercept this kind of signal. 正确形式:These features make it  difficult for the electronic systems  to intercept

MISAYAONE的博客 1731

CATIA二次开发一一一获取属性的几种方法

这些方法覆盖了CATIA CAA开发中属性操作的典型场景,开发者可通过类型判断实现递归遍历、跨文档关联等复杂逻辑。此方法用于遍历对象的所有属性,获取属性键后可通过类型判断选择后续处理方式。适用于处理嵌套对象或关联对象的场景(如几何特征关联制造特征)。适用于简单属性值的直接读取(如版本号、状态标识等)。用于处理多值属性(如多选参数、装配体子件列表等)。用于处理跨文档引用(如零件关联图纸文件)。

工业软件开发 431

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

WINCC7.3破解文件

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

上一篇: 虚拟机中没有ifconfig指令
下一篇: 删数问题(贪心算法)
那个村的王富贵
博客等级 码龄9年 16粉丝 122原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值