歌名 - 歌手
0:00

    差分约束系统

    介绍

    差分约束系统这种东西非常的神奇,
    就是如果一个系统由n个变量和m个约束条件组成,形成m个形如$$a_{i}-a_{j}\leq k$$的不等式\((i,j∈[1,n],k为常数)\),这可以把每个\(a_{i}\)当作一个节点,对于一个不等式\(a_{i}-a_{j}≤k\),将\(a_{j}向a_{i}连一条权值为k的有向边\),然后设置一个源点(按实际情况来设置),再用个最短路算法跑一边,就可以得到一组\(a_{i}\)的可行解。

    原理

    我们知道,在一个图中,如果节点\(a_{j}\)到节点\(a_{i}\)之间有一条有向边,边权为\(dis(j,i)\),那么$$a_{j}+dis(j,i)\geq a_{i}$$移项得$$a_{i}-a_{j}\leq dis(j,i)$$
    不就可上面的不等式一样吗。
    所以,就可以用最短路算法,来解决这类的问题。


    【NOIP2013模拟】DY引擎
    提供一道相关的题目,挺好的。

    posted @ 2018-05-12 19:54  无尽的蓝黄  阅读(136)  评论(0编辑  收藏  举报