博客
关于我
洛谷p1830 贪心 活动的安排
阅读量:377 次
发布时间:2019-03-05

本文共 560 字,大约阅读时间需要 1 分钟。

这是一道很经典的贪心问题。
我会在以后的博客中把有关贪心的博客整理到一起。
***1.***首先我们按照每个活动的结束时间把他进行排序。
在这里插入图片描述
**2.如上图我们已经排好序了。我们为什么要这样排呢?(我也不太明白)
2.1序排好了,具体算法咋写呢?
2.1.1
我们首先可以确定的是第一个我们一定要选,因为这样我们就可以更早的安排下一个活动了。
假如我们觉得选择二号活动(开始的时间晚且h活动时间短)的话我们结束的我们就会发现我们无
法选择三号,显然可以证明这种思路 (选择二号的思路)是错误的。
2.1.2
当我们选完第一个后,我们先按照
排好的顺序
依次选取开始时间与上一个活动不冲突的活动。然后第三个第四个同样。

3.代码来袭

#include
#include
using namespace std;struct Act{ int A,B;}tim[1000005];bool cmp(Act a,Act b){ return a.B
>N; for(int i=0; i
>tim[i].A>>tim[i].B; } sort(tim,tim+N,cmp); int tail=tim[0].B; for(int i=1; i

转载地址:http://jmtg.baihongyu.com/

你可能感兴趣的文章
MySQL与Oracle的数据迁移注意事项,另附转换工具链接
查看>>
mysql丢失更新问题
查看>>
MySQL两千万数据优化&迁移
查看>>
MySql中 delimiter 详解
查看>>
MYSQL中 find_in_set() 函数用法详解
查看>>
MySQL中auto_increment有什么作用?(IT枫斗者)
查看>>
MySQL中B+Tree索引原理
查看>>
mysql中cast() 和convert()的用法讲解
查看>>
mysql中datetime与timestamp类型有什么区别
查看>>
MySQL中DQL语言的执行顺序
查看>>
mysql中floor函数的作用是什么?
查看>>
MySQL中group by 与 order by 一起使用排序问题
查看>>
mysql中having的用法
查看>>
MySQL中interactive_timeout和wait_timeout的区别
查看>>
mysql中int、bigint、smallint 和 tinyint的区别、char和varchar的区别详细介绍
查看>>
mysql中json_extract的使用方法
查看>>
mysql中json_extract的使用方法
查看>>
mysql中kill掉所有锁表的进程
查看>>
mysql中like % %模糊查询
查看>>
MySql中mvcc学习记录
查看>>