CF733F Drivers Dissatisfaction 题解

CF733F Drivers Dissatisfaction 题解

题目大意:

给定一个 N N N 个点 M M M 条边的无向图,保证图联通。每条边有两个属性 w i w_i wi c i c_i ci ,表示使这条边的权值每降低 1 1 1 要花费 c i c_i ci 的花费。现在你有一个总费用 S S S ,你可以降低某些边的权值(可以降为负数,且总费用不得超过 S S S ) 。问降低权值后,这张图可得到的最小生成树权值是多少,并且输出选为最小生成树中的边的编号及权值。

解析

首先明确一点:题目中说可以降低某些边的权值,其实如果我们只选 c i c_i ci 最小的那条边,并只降低它的权值,这样一定可以使权值降低的最多(一点贪心的思想)。

我们可以首先找出这张图的最小生成树,并将在树上的边标记。然后,我们考虑降低哪条边的权值。

  1. 如果降低树边的权值

    其实非常好做。由开头所讲,只需要找到树边中 c i c_i ci 最小的那条边,将其 w i w_i wi 减少 S c m i n \frac {S}{c_{min}} cminS 即可。

  2. 如果降低非树边的权值

    这种情况稍微有些麻烦,我们来看下面这张图:

    黑色的边表示树边,而红色的这条边表示我们选择的要降低权值的这条边。

    由树的性质,我们不难发现:给树上两点间加上一条边后,便会生成一个环,由加上的边与两点间简单路径组成。要想其重新变回一棵树,那么必须从两点间的简单路径上去删除一条边。由贪心的思想,我们知道,要是最后答案最小,那么删去的边一定是两点间简单路径上权值最大的边。

    于是,我们可以枚举每一条非树边,找到其连接的两点的树上简单路径上权值最大的边,计算备选答案。

    备选答案就是 s u m − w m a x + w i − S c i sum-w_{max}+w_i-\frac{S}{c_i} sumwm

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值