• Codeforces Round #639 -E


    E

    建立有向图,结点表示变量,a->b表示存在式子(a<b)。

    1、 有解的充分必要条件是无环。

    无环时一定有解:全部存在性约束,因为无环所以存在入度为零的点,入度为零的点先随意安排一个值,然后按照拓扑序,每个结点安排max(入度结点值)+1即可。

    有环时一定无解:有环说明存在一个结点大于或者小于自身,不可能存在约束使其满足。

    又有环无环为对立条件,根据逆反原理,有解时一定无环。

    所以定理成立。

    2、如果一个结点与比标号小的结点存在<或者>关系,则这个结点只能为存在性约束。(枚举证明一下,或者逻辑推导一下。)

    其余的结点可能为任意性约束。则最好情况是其余节点全部为任意性约束。

    令其余节点都为任意性约束,证明不会出现矛盾。

    首先,任意性结点之间不存在</>关系,因为存在则任意性结点对不成立。

    1) 如果一个存在性结点只受到一个任意性结点的约束,则存在取值。

    2) 如果一个存在性结点受到两个以上的结点约束,则同时受到<约束,或者>约束,不可能同时受到<和>约束因为这样会导致任意性结点之间存在大小关系,则该结点只需要取max/min(入度结点值)+1/-1即可。

    核心思维:数形结合,有向无环图(DAG)的理解与运用。

  • 相关阅读:
    python---RabbitMQ
    Apicloud学习第四天
    Apicloud学习第三天——获取云数据库的数据方法
    APICloud学习第二天——操作云数据库
    font-spider问题【已解决】
    Apicloud学习第一天
    sass补充(2019-3-9)
    sublime中编译的sass如何改变css输出风格?【这里有答案】
    SEO总结
    Sass学习第一天
  • 原文地址:https://www.cnblogs.com/dialectics/p/12841624.html
Copyright © 2020-2023  润新知