博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vijos1404 遭遇战
阅读量:5264 次
发布时间:2019-06-14

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

题意:

给你一条数轴和m条线段,第i条线段覆盖区间[Li,Ri],选择它需要代价Ci。请选出代价和最小的一组线段使得区间[L,R]中的每一段都被覆盖。

这个题目其实是数据结构优化DP的一道例题。。

但是这里我们把它转化为一个图论问题。用简单一点的知识把它解决。
首先我们要考虑建模。
我们如果把线段上每个点看成图上一个点,那么对于每条线段,就相当于从Li向Ri连了一条Ci的有向边。
同时我们考虑到我们要保留它的线段意义,也就是说Li,Ri之间这些点应互相到达,且代价都应是Ci。
所以我们可以对于每一个点i,向点i-1连一条代价为0的边就好了。
从而我们发现,问题就变成了:是否有条路径使可以从起点到终点,且代价最小。。
也就是变成了裸的最短路问题啦。
另外我们发现,如果有一条线段Li到Ri,之前只要到Li-1的位置就行,也就是实际上我们连的边是从Li-1到Ri,注意一下这个,没问题了。

转载于:https://www.cnblogs.com/Bhllx/p/9835773.html

你可能感兴趣的文章
Centos 安装KScope1.6.2
查看>>
内核链表使用--删除链表节点
查看>>
eclipse启动无响应,停留在Loading workbench状态
查看>>
How exactly does Google AdWords work?
查看>>
多线程系列(4)使用多线程的安全问题
查看>>
C# 你可能没这样用过(逗逼方式) return
查看>>
弄明白Android 接口回调机制
查看>>
sharepoint中在blog中,发布post可以直接打开 word 发布!(Launch blog program to post用代码实现)...
查看>>
20175320 2018-2019-2 《Java程序设计》第10周学习总结
查看>>
javascript设计模式之单例模式
查看>>
前端性能优化-雅虎军规
查看>>
php--->php 缓冲区 buffer 原理
查看>>
基本数据类型
查看>>
Hybrid APP基础篇(五)->JSBridge实现示例
查看>>
python打印log重复问题
查看>>
开发软件时的复用
查看>>
css清除浮动,最常用的方法
查看>>
UVA 10817 - Headmaster's Headache(三进制状压dp)
查看>>
socket通信中select函数的使用和解释
查看>>
VI 摘要
查看>>