【学习笔记】差分约束

图论与不等式的完美结合 。

  • 如果求的是两个变量差的最大值,那么求最短路,形如 x i + d ≥ x j x_i+d\geq x_j xi+dxj
  • 如果求的是两个变量差的最小值,那么求最长路,形如 x i + d ≤ x j x_i+d\leq x_j xi+dxj

瞎讲几道吧

Wannafly 挑战赛9E - 组一组

有一个长为 n 的数列 A,其中有 m 个限制条件,条件有两种:

1、对于区间 [l,r],其区间元素按位或和等于 x。
2、对于区间 [l,r],其区间元素按位与和等于 x。

求出一个数列 A,使得满足给定的 m 个条件,保证有解。

1<=n,m<=10^5, 1<=l<=r<=n, 0<=x<2^20

sol:显然按位考虑 。然后求最短路 。

等等 … 直接 spfa 太慢会 T 。

我们可以把上界再控制小一点。

对于或为 0 的运算,我们知道 s[l~r]=0 。

对于前缀和 sum[i] ,假设 s[1~i] 有 x 个 0 。那么 sum[i]<=i-x 。

我们直接从源点连一条 i-x 的边 ,能有效减少迭代次数 。

[POI2015] PUS

POI

首先不考虑复杂度问题,这是一道差分约束 。

然后考虑优化一下。

其一是建图的时候,边的数量过多的问题,我们使用线段树来优化建图。

其二则是数据太大最短路跑不过的问题。我们 根据图的特殊性来优化

首先是 d[i]=x ,我们扔掉负边,即只保留下界,最后回头检验。

这样都是正边了。

其次如果有正环,输出无解 。

直接 DAG 跑拓扑排序即可。


__EOF__

本文作者仰望星空的蚂蚁
本文链接https://www.cnblogs.com/cqbzly/p/17530143.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   仰望星空的蚂蚁  阅读(8)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
点击右上角即可分享
微信分享提示