【图论】差分约束

一.情景导入

x1-x0<=9 ; x2-x0<=14 ; x3-x0<=15 ; x2-x1<=10 ; x3-x2<=9;

求x3-x0的最大值;


二.数学解法

联立式子2和5,可得x3-x0<=23;但式子3可得x3-x0<=15。所以最大值为15;


三.图论

但式子多了我们就不好解了,或者说在计算机中怎么解呢?

我们可以想到,不妨把式子转为图的形式。我们令x0-->x1的边表示为x1-x0<=边权值。

则以上式子可以画图为:

这边,x3-x0可以为:(即x3-x0<=15)

也可以为:(即x3-x0<=28)

还可以为 :(即x3-x0<=25)

所以我们取最短路径即可!


四.差分约束

这个即是差分约束的模型

注意:

当出现负环的情况,我们可知,式子是无解的!

当要求的两个点没有联通时,可知这两个式子没有约束!所有解都有可能!


五.例题:

六.参考代码

过一天把代码贴上来,并加上注释!

相关推荐
陈苏同学13 分钟前
笔记1.4:机器人学的语言——三维空间位姿描述 (旋转矩阵 - 齐次变换矩阵 - 欧拉角 - 四元数高效表示旋转)
笔记·线性代数·算法·机器人
蜗牛沐雨30 分钟前
详解C++中的字符串流
c++·1024程序员节
蜗牛沐雨31 分钟前
详解C++中的流
c++·1024程序员节
scx2013100437 分钟前
20251025 分治总结
数据结构·c++·算法
m0_7482402538 分钟前
C++智能指针使用指南(auto_ptr, unique_ptr, shared_ptr, weak_ptr)
java·开发语言·c++
碧海银沙音频科技研究院40 分钟前
DiVE长尾识别的虚拟实例蒸馏方法
arm开发·人工智能·深度学习·算法·音视频
R-G-B1 小时前
【10】MFC入门到精通——MFC 创建向导对话框、属性页类、属性表类、代码
c++·mfc·创建向导对话框·创建属性页类·创建属性表类
居7然2 小时前
DeepSeek OCR:重新定义AI文档处理的“降本增效”新范式
人工智能·算法·语言模型·自然语言处理·大模型·ocr
while(1){yan}2 小时前
数据结构之堆
数据结构·python·算法
AA陈超2 小时前
虚幻引擎5 GAS开发俯视角RPG游戏 P06-16 属性菜单 - 构建
c++·游戏·ue5·游戏引擎·虚幻