差分约束 1

//去你妈的,关于SPFA,它活了

原理

其实SPFA就是干这玩意的
由于差分约束的标准形式xixjb
和最短路的三角不等式极为相似,(三角不等式是BellmanFord最短路算法原理)
于是考虑直接建图跑最短路

建图

我学的建图方式是:
对于xixjb这个式子:
连一条ji的有向边,边权为b
这种建图方式配套的源头是n
为防止不连通,肯定是要建一个超级源点n+1
对于每一个点要建出有向边n+1i,边权为0

判解

如果无解,跑最短路表现出来是有负环
这个时候使用SPFA判一下有无负环即可
但是如果要找解,就得从出发点做一遍SPFA

转化

就是不一定所有的差分约束不等式都是标准形式
所以对于每种不同的差分约束还需要特殊判断
xi+b=xj等价于xixjb\andxjxib
xi+bxj等价于xixjb\andxjxib
xi+b<xj等价于xixjb1
xi+b>xj等价于xjxib1

posted @   2K22  阅读(24)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示