博客
关于我
洛谷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的 if else , case when then, IFNULL
查看>>
MySQL的10种常用数据类型
查看>>
MySQL的btree索引和hash索引的区别
查看>>
mysql的cast函数
查看>>
MySql的CRUD(增、删、改、查)操作
查看>>
MySQL的DATE_FORMAT()函数将Date转为字符串
查看>>
mysql的decimal与Java的BigDecimal用法
查看>>
MySql的Delete、Truncate、Drop分析
查看>>
MySQL的Geometry数据处理之WKB方案
查看>>
MySQL的Geometry数据处理之WKT方案
查看>>
mysql的grant用法
查看>>
Mysql的InnoDB引擎的表锁与行锁
查看>>
mysql的InnoDB引擎索引为什么使用B+Tree
查看>>
MySQL的InnoDB默认隔离级别为 Repeatable read(可重复读)为啥能解决幻读问题?
查看>>
MySQL的insert-on-duplicate语句详解
查看>>
mysql的logrotate脚本
查看>>
MySQL的my.cnf文件(解决5.7.18下没有my-default.cnf)
查看>>
MySQL的on duplicate key update 的使用
查看>>
MySQL的Replace用法详解
查看>>
mysql的root用户无法建库的问题
查看>>