zoukankan      html  css  js  c++  java
  • poj 1716 1201 差分约束 SPFA

    poj 1716 Integer Intervals     

          因为没提无解,就当是保证有解吧。为了方便,先把点的标号都加一。约束条件有三个。

          (1)题目对区间的要求用前缀和表示  S[b+1]-s[a]>=2

          (2)前缀和本身隐含一个约束条件     S[i]-S[i-1]>=0

          (3)一个数字只取一次                     S[i]-S[i-1]<=1

          因为我想用SPFA求最短路,所以把不等式全部变形为 S[x]-S[y]<=C 的形式,从y向x连一条边权为C的边。输出那段随便写的,还没想,为什么(dis[maxn]-dis[0])和(dis[t]-dis[s])之间有矛盾。

          一点关于差分约束的想法,首先要确定使用求最长路还是最短路算法,如果用最短路算法,松弛操作对于边(v,u)有dis[u]=min(dis[u],dis[v]+w),所以算法结束后一点有dis[u]<=dis[v]+w,即dis[u]-dis[v]<=w。就是说求其他点到其实点满足约束条件最小值,应该把约束条件写成<=形式,求最短路。求指正。

    Code

    poj 1201 Intervals

          贴代码

    Code

  • 相关阅读:
    oracle-游标总结
    js动态获取下拉框的数据(搜索条件之间互相影响)
    poi实现excel数据导入到mysql数据库(加上excel的验证)
    windows10下ActiveMQ的安装和启动
    hexo发表博文
    前端Web安全介绍及规避。。。
    小程序:pages/index/index/出现脚本错误或未正确调用Page()
    初步了解产品经理(个人笔记)
    浏览器唤起APP的思路(本文转载)
    常见浏览器兼容性问题总结
  • 原文地址:https://www.cnblogs.com/lijianlin1995/p/3386368.html
Copyright © 2011-2022 走看看