Poj 1201 (差分约束系统)

 

     这是我的第五道“差分约束系统”;,值得庆祝的是,本题完全是自己做出来的,没有参考任何资料,呵呵.....兴奋......

     题意理解:(题意有点费解,看了几遍才懂)第一行输入n,下面输入n个限制条件,条件的格式为 ai bi ci,  0<=ai<=bi<=50000,1<=ci<=bi-ai+1.表示在线段[ai,bi]上至少选ci个点,使被选出的点的个数最少而且满足所有的限制条件,输出这个最小值。

题目分析:

1. 开始我用每个整数(1,2,...)当做图的结点,添加边就是 add(b, a, -c),写出来之后发现连题目的样例数据都输出错误结果8.

2. 研究了一番发现这样不行,比如有两个限制条件分别为:1 3 2, 3 6 2; 那么按照上面的思路添加这两条边<3,1>=-2, <6,3>=-2; 后又可以得到边 <6,1>=-4, 意思是在线段[1,6]上至少要选4个点,而实际上不是的,应该是至少要选3个点才对,问题出哪呢??因为线段[1,3]和[3,6]有一个公共点3. 

3. 所以要换一种方式建图,对于一个条件(ai,bi,ci)实际上表示在开区间(ai-0.

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值