活动选择

c++活动选择问题 最重要的是在输入完成之后升序排序一遍每个活动的用时(贪心算法),再写个函数去一个一个的判断是否有冲突,没有就在总结果加一。(注意要定义一个tempbool,就是说假如安排上你这个活动,会不会与前面的活动冲突)可以定义一个长度为24的bool一维数组,以代表一天24个小时。这个题目的本质是考结构体和贪心算法。 阅读详情

Problem Description

学校的大学生艺术中心周日将面向全校各个学院的学生社团开放,但活动中心同时只能供一个社团活动使用,并且每一个社团活动开始后都不能中断。现在各个社团都提交了他们使用该中心的活动计划(即活动的开始时刻和截止时刻)。请设计一个算法来找到一个最佳的分配序列,以能够在大学生艺术中心安排不冲突的尽可能多的社团活动。
比如有5个活动,开始与截止时刻分别为:



最佳安排序列为:1,4,5。

Input

第一行输入活动数目n(0<n<100);
以后输入n行,分别输入序号为1到n的活动使用中心的开始时刻a与截止时刻b(a,b为整数且0<=a,b<24,a,b输入以空格分隔)。

Output

输出最佳安排序列所包含的各个活动(按照活动被安排的次序,两个活动之间用逗号分隔)。

Sample Input

6
8 10
9 16
11 16
14 15
10 14
7 11

Sample Output

1,5,4

code:

#include <bits/stdc++.h>
using namespace std;

struct node
{
    int start;
    int end;
    int id;
};

bool cmp(node a, node b)
{
    return a.end<b.end;
}

int main()
{
    int n, table[110], cnt = 0;
    int flag = 0;
    node list[110];
    cin>>n;
    for(int i = 0;i<n;i++)
    {
        cin>>list[i].start>>list[i].end;
        list[i].id = i+1;
    }
    sort(list, list+n, cmp);
    table[cnt++] = list[0].id;
    for(int i = 1;i<n;i++)
    {
        if(list[i].start>=list[flag].end)
        {
            table[cnt++] = list[i].id;
            flag = i;
        }
    }
    for(int i = 0;i<cnt;i++)
    {
        if(i<cnt-1)
        {
            cout<<table[i]<<',';
        }
        else
        {
            cout<<table[i]<<endl;
        }
    }
}

 

【贪心算法类】C,C++写活动选择问题 活动选择问题是一个经典的调度问题,旨在从一组活动中选择出尽可能多的互不重叠的活动。该问题可以通过贪心算法有效解决。给定一组活动,每个活动都有一个开始时间和结束时间。我们的目标是选择最大数量的活动,使得这些活动互不重叠。通过对活动选择问题的深入分析和实现,学习者可以掌握贪心算法的应用,提升解决实际问题的能力。 阅读详情

相关推荐

带权值的活动选择问题

带权值的活动选择不是一个贪心算法,而是要用动态规划来求解。首先看他是否满足动态规划的要求吗? 含有重叠子问题 有最优解使总的收益最大 先给活动按结束时间进行排序。活动必须一个结束后,另一个才能开始,所以记录每个活动开始前,那个活动最后结束。 递推公式: D[i], p[i], 数组的含义在下面代码中,建立一个数组记录哪些活动被选择。 //活动选择权值最大问题 #include<...

weixin_44740740的博客 2377

活动选择(互相兼容的活动组成的最大子集问题)

活动选择 Time Limit: 1000MS Memory limit: 65536K 题目描述 学校的大学生艺术中心周日将面向全校各个学院的学生社团开放,但活动中心同时只能供一个社团活动使用,并且每一个社团活动开始后都不能中断。现在各个社团都提交了他们使用该中心的活动计划(即活动的开始时刻和截止时刻)。请设计一个算法来找到一个最佳的分配序列,以能够在大学生艺术中心安排不冲突的...

weixin_34234823的博客 1086

(Java实现) 活动选择

活动选择的类似问题都可以这么写 import java.util.ArrayList; public class huodongxuanze { /** * //算法导论中活动选择问题动态规划求解 * @param s 活动的开始时间 * @param f 活动的结束时间 * @param n 活动数目 * @return 最...

南 墙 1万+

信息学奥赛一本通 1323:活动选择(evd)

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

everwide的博客 754

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

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

lybc2019的博客 1018

OAI骨关节炎数据集申请与DICOM下载全流程避坑指南

医学影像分析中,DICOM格式是存储与交换CT、MRI等数据的通用标准,其元数据Tag承载着像素间距、层厚等关键物理信息,直接影响定量分析的准确性。在骨关节炎研究领域,OAI数据集因样本量大、随访时间长而成为高价值资源,但获取需通过NDA协议申请,并借助nda-tools命令行工具完成TB级影像的批量下载与断点续传。这一流程涉及浏览器环境配置、DICOM格式转换及Python预处理等工程环节,任一细节疏漏都可能导致数据读取异常或分析偏差。掌握从申请到落地的完整链路,能显著提升医学影像AI研究的效率与可复现性

weixin_30843121的博客 275

活动选择问题

假定一个有n个活动(activity)的集合S={a​1​​ ,a​2​​ ,…,a​n​​ },这些活动使用同一个资源(例如同一个阶梯教室),而这个资源在某个时刻只能供一个活动使用。每个活动a​i 都有一个开始时间s​i​​ 和一个结束时间fi,其中0<=s​i<f​i<=32767。如果被选中,任务a​i​​ 发生在半开时间区间[s​i​​ ,f​i )期间。如果两个活动a​i​​ 和a​j​​ 满足[s​i,f​i​​ )和[s​j​​ ,f​j​​ )不重叠,则称它们是兼容的。也就

pang4793869的博客 1645

Ansys口腔正畸有限元分析:从几何处理到接触设定的全流程解析

本文详细解析了Ansys在口腔正畸有限元分析中的全流程应用,从几何处理到接触设定,帮助医生精准预测牙齿移动趋势。通过有限元建模技术,可同时观察牙齿-牙周膜-牙槽骨的力学响应,显著提升矫治效果预测准确率。文章还分享了实用技巧和参数设置建议,适用于正畸医生和工程师。

weixin_30897233的博客 348

活动选择问题和带权活动选择问题【贪心算法】

活动选择问题和带权活动选择问题【贪心算法】 贪心算法总是作出在当前看来最好的选择。也就是说贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上的局部最优选择。 活动安排问题 问题描述: 设有n个活动的集合E = {1,2,…,n},其中每个活动都要求使用同一资源,如演讲会场等,而在同一时间内只有一个活动能使用这一资源。每个活i都有一个要求使用该资源的起始时间si和一个结束时间fi,且si < fi 。如果选择了活动i,则它在半开时间区间[si, fi)内占用资源。若区间[si, fi)与

软件程序媛的博客 2290

CVAT本地部署保姆级教程:用Docker Compose在Ubuntu上5分钟搞定你的私有数据标注平台

本文提供CVAT本地部署的保姆级教程,详细讲解如何在Ubuntu系统上使用Docker Compose快速搭建私有数据标注平台。从环境准备、Docker配置到CVAT部署全流程,涵盖硬件要求、性能优化及安全加固等关键步骤,帮助开发团队5分钟内完成高效、安全的标注环境搭建。

weixin_42619742的博客 383

导出库的版本_Windows下PaddleOCR在C++中的推理部署(CPU版本)CMake + VS2017

PaddleOCR是一个与OCR相关的开源项目,不仅支持超轻量级中文OCR预测模型,总模型仅8.6M(单模型支持中英文数字组合识别、竖排文本识别、长文本识别,其中检测模型DB(4.1M)+识别模型CRNN(4.5M)),而且提供多种文本检测训练算法(EAST、DB)和多种文本识别训练算法(Rosetta、CRNN、STAR-Net、RARE)。本文将教大家通过PaddleOCR(CPU版...

weixin_31304817的博客 1913
上一篇: 装船问题
下一篇: 最优合并问题
shadowam
博客等级 码龄10年 62粉丝 168原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值