差分约束系统详解

一直不知道差分约束是什么类型题目,最近在写最短路问题就顺带看了下,原来就是给出一些形如x-y<=b不等式的约束,问你是否满足有解的问题

好神奇的是这类问题竟然可以转换成图论里的最短路径问题,下面开始详细介绍下

比如给出三个不等式,b-a<=k1,c-b<=k2,c-a<=k3,求出c-a的最大值,我们可以把a,b,c转换成三个点,k1,k2,k3是边上的权,如图

这里写图片描述

由题我们可以得知,这个有向图中,由题b-a<=k1,c-b<=k2,得出c-a<=k1+k2,因此比较k1+k2和k3的大小,求出最小的就是c-a的最大值了

根据以上的解法,我们可能会猜到求解过程实际就是求从a到c的最短路径,没错的….简单的说就是从a到c沿着某条路径后把所有权值和k求出就是c -a<=k的一个

推广的不等式约束,既然这样,满足题目的肯定是最小的k,也就是从a到c最短距离…

理解了这里之后,想做题还是比较有困难的,因为题目需要变形一下,不能单纯的算..

首先以poj3159为例,这个比较简单,就是给出两个点的最大差,然后让你求1到n的最大差,直接建图后用bellman或者spfa就可以过了

稍微难点的就是poj1364,因为他给出的不等式不是x-y<=k形式,有时候是大于号,这样需要我们去变形一下,并且给出的还是>,<没有等于,都要变形

再有就是poj1201,他要求出的是最长距离,那就要把形式变换成x-y>=k的标准形式

注意点:

1. 如果要求最大值想办法把每个不等式变为标准x-y<=k的形式,然后建立一条从y到x权值为k的边,变得时候注意x-y&lt; k =>x-y&lt; =k-1

如果要求最小值的话,变为x-y>=k的标准形式,然后建立一条从y到x的k边,求出最长路径即可

2.如果权值为正,用dj,spfa,bellman都可以,如果为负不能用dj,并且需要判断是否有负环,有的话就不存在

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/381564.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

美开发思想头盔让士兵通过脑电波交流

http://www.sina.com.cn 2008年09月18日 08:08 新浪科技新浪科技讯 北京时间9月18日消息&#xff0c;据美国《时代》周刊报道&#xff0c;在20世纪的战场上&#xff0c;爆炸声震耳欲聋&#xff0c;军官们要下达命令&#xff0c;或者士兵之间互相交流看法&#xff0c;只能大声…

flink source 同步_大数据面试题-Flink

1、Flink 的 抽象层次有几种Stateful stream processingCore APITableSQL 2、Window 类型(1)TimeWindowTumbling Window(滚动窗口)Sliding Window(滑动窗口)Session Window(会话窗口)Global Window(全局窗口)(2)countWindow(3)自定义window 3、Time 类型事件时间、注入时间和Pr…

python 程序员专属情话_程序员高端情话来一波,你想要的情话原来都在这里......

原标题&#xff1a;程序员高端情话来一波&#xff0c;你想要的情话原来都在这里...程序员最幽默(ID&#xff1a;humor1024)整编图片来自&#xff1a;网络今天是2019年8月7号&#xff0c;一年一度的情人节又来了作为屌丝界的一枚程序员怎么能不参与到这个振奋人心的日子里呢&…

HDU ACM Steps攻略 ACM Steps的全部内容

原地址&#xff1a;http://www.byywee.com/page/M0/S607/607452.html 总结了一下ACM STEPS的各章内容&#xff0c;趁便附上我的Steps题号&#xff08;每人的不一样&#xff09;。 别的&#xff0c;此文首要目标是为了装逼&#xff1b; 大牛请疏忽&#xff1b; 摸索欲斗劲强…

ASP.NET中常用的js代码

ASP.NET中常用的js代码 所属类别&#xff1a;ASP.net推荐指数&#xff1a;★★☆文档人气&#xff1a;61本周人气&#xff1a;3发布日期&#xff1a;2008-7-8三、弹出框1、 弹出提示框Alert("提示框&#xff0c;呵呵");2、 弹出确认框return confirm("确认框&am…

linux孟庆昌第六章课后题_第六章课后练习题答案

第四部分课后练习题一、单项选择题1&#xff0e;某投资方案的年营业收入为元&#xff0c;年总营业成本为60000元&#xff0c;其中年折旧额10000元&#xff0c;所得税率为33&#xff05;&#xff0c;该方案的每年营业现金流量为( B)。A&#xff0e;26800元B&#xff0e;36800元C…

1.1.1.1校园网_Apache Flink 1.11.0 重要功能全面解析

来源 | Apache Flink 官方博客翻译 | 高赟(云骞)Apache Flink 社区很荣幸的宣布 Flink 1.11.0 版本正式发布&#xff01;超过 200 名贡献者参与了 Flink 1.11.0 的开发&#xff0c;提交了超过 1300 个修复或优化。这些修改极大的提高了 Flink 的可用性&#xff0c;并且增强了各…

双硬盘双win10互不干扰_笔者详解win10系统双硬盘经常提示“盘符交错”的技巧...

你是否遇到过win10系统双硬盘经常提示“盘符交错”的问题。那么出现win10系统双硬盘经常提示“盘符交错”的问题该怎么解决呢&#xff1f;很多对电脑不太熟悉的小伙伴不知道win10系统双硬盘经常提示“盘符交错”到底该如何解决&#xff1f;其实只需要  一、修复windows  二、…

[leetcode] 617. Merge Two Binary Trees

题目描述 给定两棵树&#xff0c;要求合并它们&#xff0c;如果节点重合则新合并的树的节点为它们之和&#xff0c;否则不变。 思路 简单递归&#xff0c;c语言怎么创建新节点忘记了&#xff0c;就直接写的。 代码 /*** Definition for a binary tree node.* struct TreeNode {…

python定时任务_Python定时任务(上)

在项目中&#xff0c;我们可能遇到有定时任务的需求。其一&#xff1a;定时执行任务。例如每天早上 8 点定时推送早报。其二&#xff1a;每隔一个时间段就执行任务。比如&#xff1a;每隔一个小时提醒自己起来走动走动&#xff0c;避免长时间坐着。今天&#xff0c;我跟大家分享…

3-font

第三章 font-family控制文字字体font-family:Arial, Helvetica, sans-serif;依次采用列表中的字体&#xff0c;如果没有系统中没有安装&#xff0c;则采用浏览器默认字体。font-size控制文字大小1in&#xff08;英寸&#xff09; 2.54cm&#xff08;厘米&#xff09; 25.4 mm…

显示控制器注释_欧姆龙可编程控制器CS1D-CPU产品型号说明及功能介绍

欧姆龙可编程控制器CS1D-CPU用CPU单元 CPU单元(用于双CPU系统)欧姆龙可编程控制器CS1D-CPU用CPU单元 特点可以轻松引入、使用高可靠性系统成双配备CPU单元轻松易行CPU单元内的程序或内部数据在活动/备用CPU之间完全进行自动传送并进行同步。 无需选择要同步的数据或单独进行传送…

oracle查看数据库是否恢复成功_记一次解决docker下oracle数据库故障事例

一、问题背景&#xff1a;某个项目的线上环境oracle数据库挂了&#xff0c;同事急匆匆来找我救火。我简单咨询了一些基本情况&#xff1a;线上环境&#xff0c;docker部署&#xff0c;已正常运行半年。由于宿主机的根目录硬盘空间不够&#xff0c;运维的同事想把oracle数据文件…

[调剂复试]复试后的一点总结

来北京差不多有两天了&#xff0c;调剂的事情也有了结果&#xff0c;之前的忐忑的心也终于放了下来。好不容易有一点空闲的时间&#xff0c;所以想好好地总结一下&#xff0c;谈不上有多少经验&#xff0c;只是希望阅读这篇文章的人能够在迷茫的时候看到方向。 先说下调剂的学…

js取字符串后四位_JS逆向 | 某验滑块加密参数逆向分析

声明&#xff1a;本文只作学习研究&#xff0c;禁止用于非法用途&#xff0c;否则后果自负&#xff0c;如有侵权&#xff0c;请告知删除&#xff0c;谢谢&#xff01;aHR0cHM6Ly93d3cuZ2VldGVzdC5jb20vZGVtby9zbGlkZS1mbG9hdC5odG1s抓包分析&#xff0c;看到一个加密参数w&…

谨防代理木马和怕米释放有毒程序

江民今日提醒您注意&#xff1a;在今天的病毒中Trojan/PSW.Agent.ann“代理木马”变种ann和TrojanDropper.Psyme.gke“怕米”变种gke值得关注。 英文名称&#xff1a;Trojan/PSW.Agent.ann中文名称&#xff1a;“代理木马”变种ann病毒长度&#xff1a;243200字节病毒类型&…

[python] 命令行模式下出现cp65001异常

问题 在命令行模式下有时会提示cp65001异常&#xff0c;很显然是命令行编码和python环境编码不匹配。 解决 切换命令行编码 unknown encoding: cp65001异常 python安装后进入命令行交互模式&#xff0c;输入任何代码都报unknown encoding: cp65001异常 需要将编码(UTF-8)修改…

挖掘城市ip_德国卡尔斯草莓农庄:旅游IP打造要创意更要形象!

什么是IP?名人圈&#xff1a;杨超越游戏圈&#xff1a;王者荣耀影视界&#xff1a;延禧攻略出版界&#xff1a;Harry Potter相声界&#xff1a;郭德纲……别忙着争先恐后&#xff0c;知道你的IP数不胜数~~你知道的IP数不胜数&#xff0c;一个人、一部作品、一个品牌、一座城市…

rust种的南瓜为什么老是消失_冷天早餐别将就,用南瓜和萝卜这样做,鲜香松软,营养好吃又管饱...

导语&#xff1a;11月我家爱吃这菜&#xff0c;加根萝卜简单一卷&#xff0c;有颜有料&#xff0c;孩子经常点名吃。冷天早餐别将就&#xff0c;用南瓜和萝卜这样做&#xff0c;鲜香松软&#xff0c;营养好吃又管饱“南瓜再大本地卖&#xff0c;辣椒再小穿省过”记得悦悦小时候…

windows下搭建python运行环境

今天python的环境炸了&#xff0c;刚好也重新做一下&#xff0c;记录下折腾的过程。 文件下载 首先打开官网&#xff0c;找到对应的文件的下载索引。 https://www.python.org/downloads/windows/ 其中3.7.0是版本号&#xff0c;a是代表稳定版本&#xff0c;b代表的是测试版本&…