差分约束学习笔记

差分约束

引入

对于一个序列{x1,x2,x3,,xn}{x1,x2,x3,⋯,xn},我们得知关于它的一系列不等式,形如x1x2kix1−x2≤ki,然后我们可以求出一些东西,例子如下:

  • xnx0xn−x0的最大最小值。

  • 一个合法的xx序列。

  • 等等等


对于上述问题,我们有什么好的解决方法呢?

我们可以观察学过的一个算法,最短路算法中的松弛操作:

dis[u]+w(u,v)dis[v]
(其实应该是<,为了方便理解加了等号。)
将其变形可以得到:

dis[u]dis[v]w(u,v)dis[u]−dis[v]≤−w(u,v)

这时我们可以将dis[a]dis[a]看作xaxaw(a,b)−w(a,b)看作xaxbkixa−xb≤ki中的kiki,那么这个是不是正好照应了我们的不等式关系?

那么我们可以将其转换为一条有边权的有向边,然后通过SPFA(因为大多数有负权)跑最短路或者最长路就可得到答案。

后期更新。。。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

VictoryCzt

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值