首页 > 其他分享 >差分约束

差分约束

时间:2022-12-11 10:11:19浏览次数:51  
标签:le dist log 差分 约束 add Leftrightarrow

定义

差分约束是一种特殊的一元不等式组,其中每一项都形如\(x_{i}-x_{j}\le m_{k}\),其中\(m_{k}\)是常数。
差分约束算法可以求出一组可行解。

推理

我们注意到,每一个不等式都可以变形成\(x_{i}\le x_{j}+m_{k}\)
同时对于一个图的最短路\(dist[]\),一定有\(dist(y)<=dist(x)+val(x,y)\)
我们发现这两个式子的形式极为相似,于是考虑转化。
我们将\(x_{i}\)与\(x_{j}\)视为节点,\(m_{k}\)视为边权,从\(x_{j}\)向\(x_{i}\)连一条权值为\(m_{k}\)的有向边。

过程

设立\(0\)号节点,向所有节点连一条\(0\)边,然后从\(0\)开始跑单源最短路。
如果图中存在负环,则无解;否则\(x_{i}=dist[i]\)是一组可行解。

扩展

\(x_{i}-x_{j}\ge m_{k}\Leftrightarrow x_{j}-x_{i}\le -m_{k}\Leftrightarrow add(i,j,-m_{k})\)
\(x_{i}=x_{j}\Leftrightarrow x_{i}-x_{j}\ge 0,x_{i}-x_{j}\le 0\Leftrightarrow add(i,j,0),add(j,i,0)\)
\(\frac{x_{i}}{x_{j}}\le m_{k}\Leftrightarrow \log_{2}x_{i}-\log_{2}x_{j}\le m_{k}\Leftrightarrow add(j,i,\log_{2}m_{k})\)

题目

P5960 【模板】差分约束算法 模板题

标签:le,dist,log,差分,约束,add,Leftrightarrow
From: https://www.cnblogs.com/jd122/p/16972862.html

相关文章

  • mysql约束
    Mysql约束约束用于确保数据库的数据满足特定的商业规则在Mysql中,约束包括:notnull、unique、primarykey、foreignkey和check五种primarykey(主键)的使用(主键列不......
  • 3、约束(Constraint)
    主键约束(PrimayKey):值唯一,且非空。唯一约束(Unique):值唯一,可以有一个空。检查约束(Check):自定义约束,对值进行限制。非空约束(Notnull):值不为空。外键约......
  • 算法学习笔记(5)——前缀和与差分
    前缀和与差分前缀和与差分一维前缀和差分一维前缀和前缀和可以用于快速计算一个序列的区间和,也有很多问题里不是直接用前缀和,但是借用了前缀和的思想。用\(s[i......
  • 负环、差分约束和传递闭包
    差分约束https://oi-wiki.org/graph/diff-constraints/定义差分约束系统是一种特殊的\(n\)元一次不等式组,它包含\(n\)个变量\(x_1,...,x_n\)以及\(m\)个约束条......
  • 数据模型的类型的约束
    基于描述符建立数据模型实现赋值验证框架在实例属性的获取和设定方面,前面已经提过可以使用property和描述符实现1、创建数据模型的基础构建模块1classDescriptor:......
  • Color the ball HDU - 1556 _差分
    N名同学拍成一排,编号为1,2,3,4……N。现在有一位老师需要检查所有同学的出勤情况,他会进行点名,每次给出两个数a,b,并且保证a小于等于b,这个区间内的所有同学都会被点名一次,老师......
  • mysql--约束
        外键约束:altertableempaddconstraintfk_emp_dept_idforeignkey(dept_id)referencesdept(id);添加主键altertableempdropforeignkeyfk_em......
  • HDU 6273 Master of GCD(差分)
    题目分析贴一个别人的题解这个题就是一个差分数组,因为这数列的最大公约数就是这个数列2的出现2的最少次数的幂乘以3的出现3的最少次数的幂将2和3分开讨论,然后分......
  • xml_组成部分和xml_约束概述
    xml_组成部分:组成部分:1.文档声明格式:<?xml属性列表"?>属性列表version:版本号必须属性encoding:编码方式,告知解析引擎当前文档使......
  • xml_约束_dtd和xml_约束_schema
    xml_约束_dtd:DTD:一种简单的约束技术引入dtd文档到xml文档中内部dtd:将约束规则定义在xml文档中外部dtd:将约束的规则定义在外部的dtd文件中分......