今年暑假不AC(贪心思路+代码 详解)

您所在的位置:网站首页 那你新闻联播 今年暑假不AC(贪心思路+代码 详解)

今年暑假不AC(贪心思路+代码 详解)

2024-07-12 01:44| 来源: 网络整理| 查看: 265

在这里插入图片描述 在这里插入图片描述 这道题是一道贪心算法的经典问题(活动选择问题) 先说用到的贪心结论:最先结束的活动一定是最优解的一部分 证明过程如下: 假设a是所有活动中最先结束的活动,b是最优解中最先结束的活动 如果a=b 则结论成立 如果a!=b 则b的结束时间一定晚于a的结束时间,则此时用a替换掉最优解中的b, a一定不与最优解中的其他活动时间重叠,因此替换掉后也是最优解

思路:在确定了贪心策略之后(上面的贪心结论)可以根据这个结论展开。 具体为 1.用结构体存储每个节目的开始时间和结束时间 2.根据每个节目的结束时间将这个结构体数组从小到大排序 3.如果当前节目的开始时间大于上一个节目的结束时间,则选入改节目 代码如下:

#include #include using namespace std; struct program{ int s; int e; }time[110]; int cmp(program a,program b){ return a.e


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3