vijos1404 遭遇战

题意:
给你一条数轴和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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值