pku3680 网络流

额,最近几天没怎么写程序,关键数学初赛考萎了,以后要多做数学了。

这道题我叫了N遍,最后发现是由于他多组数据,l没有初始化。。。。

题目大意:

  一个数轴上,有n条线段,每条的线段有a[i],b[i],w[i]表示起点终点和权值。让你选若干条线段让这些线段的和最大。数轴的某一段区间可以被重复选k次。

简略题解:

  首先膜拜cai0715,看了他的构图方法才做出来的。

  先离散化,就是先把所有线段的端点排序,然后再把原来的a[i],b[i]缩小成p,q,然后,增加源汇s,t,s=0 t=r+1(总区间长度+1)。然后对于数轴,i向i+1连边,费用0流量k。对于每条线段,从p向q连边,费用为-c[i],流量为1。

  然后就是最小费用最大流了,最后ans取反就可以了。

附程序:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值