博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
区间相关问题(贪心)
阅读量:7013 次
发布时间:2019-06-28

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

摘自紫书第八章

突破口一般是区间包含的时候怎么选, 以及怎么排序

(1)选择不相交区间

问题: 有n个开区间(ai, bi) 选择尽量多的区间, 使这些区间两两没有公共点。

 

按照b从小到大排序(这种情况a无所谓, 得出结果一样)

 

一定选第一个区间, 然后, 把所有和区间1相交的区间排除在外, 然后不相交就选下一个, 然后同理。

 

所以就记录区间编号, 扫一遍就ok。

 

(2)区间选点

问题: 数轴上有n个闭区间 [ai, bi]。取尽量少的点, 使每个区间都至少有一个点。

 

按照b从小到大, b同时a从大到小, 每次都取第一个区间的最后一点, 这个点不能覆盖的时候

 

就再取下一个区间的最后一个点, 以此类推。

 

(3) 区间覆盖

数轴上有n个闭区间 [ai, bi], 选尽量少的区间覆盖一条指定线段[s,t]。

 

预处理, 在[s,t] 外面的部分切掉(因为起不到任何作用)

 

按照a从小到大排序, 区间1起点不是s无解。否则选择起点在s的最长区间

 

然后新的起点就是刚才选的区间的终点bi, 然后忽略bi之前的部分, 继续做

 

转载于:https://www.cnblogs.com/sugewud/p/9819568.html

你可能感兴趣的文章
Spring Boot 监控利器 —— Actutor
查看>>
Spring Boot 2.x整合Activiti工作流以及模型设计器(前后端分离 iview admin vue 集成activiti工作流 模型设计器 动态...
查看>>
SharePoint poweshell 无法识别命令
查看>>
图解vueVue响应式原理
查看>>
《麦肯锡教给我的写作武器》摘录
查看>>
关于互联网的小事--摘要
查看>>
设置grid行填充颜色为红色
查看>>
url参数中有+、空格、=、%、&、#等特殊符号的问题解决
查看>>
servlet方式通过Cookie记住登录时的用户名和密码
查看>>
Cisco无线AP上联口为trunk时无法注册故障处理
查看>>
c语言学习之基础知识点介绍(十八):几个修饰关键字和内存分区
查看>>
【Unity3D实战】摇摆直升机开发实战(二)
查看>>
DataContract
查看>>
53、 什么是反射?以及应用场景?
查看>>
iPhone更新失败后如何恢复数据
查看>>
rpm命令如何打印调试信息?
查看>>
数据访问查询实例 租房子
查看>>
解决bootstrapvalidator配合select2插件不能正常校验的问题
查看>>
【网新1】
查看>>
以前的随笔已移至日记
查看>>