zoukankan      html  css  js  c++  java
  • 凑字日常1

    小K的农场:

    这个题是差分约束判断是否成环,建立所有点之间的关系,如果成环就说明这些条件互相矛盾

    题目输入给的条件为

    a-b>=c

    a-b<=c

    a-b==0(化为a-b<=0)

    所以在a点与b点之间建一条权值为c的边表示a比b最大多种c个单位的作物

    再在这些点之间跑spfa判断是否会出现环

    有丶尴尬啊,感觉能写的都写了,没够字数(夹着烟的手微微颤抖)

    那就再写一篇啊

    天路:

    这个题的答案在0~200之间的无理数,所以可以二分答案,对于每个二分的答案判断是否能够成负环

    假定ans为最终答案(诶,这句话似曾相识,好像出现在了某题解里),所以V/p<=ans

    所以可以转化为ans*p-v>=0

    所以当bns[w]+ans*w[i].vis-w[i].zis<=bns[v]时

    一开始将bns的数组全部清为0,所以这里只会出现负数

    再从能扩展的点继续深搜,如果找到了一个点已经被标记过,但是现在还能再走这个点

    就说明找到了负环,能找到一条负权回路就说明这个二分的答案小了缩小左边界的值

    没找到就缩小右边界的值

    如果左边界的值一直没有改变,就说明没有回路

    嗯,应该“凑”够字了

  • 相关阅读:
    linux下activemq安装
    java 线程方法join
    创建线程池
    游标储存过程
    返回结果集的储存过程
    linux 安装 reids 出错解决问题
    IDEAL 集成 jFINAL 问题
    oracle 游标
    oracle procedures
    Linux下安装Tomcat服务器
  • 原文地址:https://www.cnblogs.com/qyh2003/p/9788036.html
Copyright © 2011-2022 走看看