笔记:差分约束

news/2025/2/12 12:59:47/文章来源:https://www.cnblogs.com/-cchen-/p/18711343

差分约束系统

差分约束系统用于求解 \(n\) 元不等式组的解,对于 \(n\) 个变量 \(x_n\) ,能写出形如 \(a \leq x_i - x_j \leq c\) 这样的不等式(左右两边不一定同时存在),就可以使用差分约束求出一组解。

原理

可以发现差分约束的解只有无解和无限解两种情况,对于一组特解 \(x_1,x_2 \cdots x_n\) ,解 \(x_1+d,x_2+d,\cdots x_n+d\) 也是一组解。

对于不等式 \(x_i - x_j \leq c\) ,这和最短路的三角不等式 \(d_v \leq d_u + w\) 相似,我们可以连接有向边 \((j,i,c)\)

差分约束系统建立在一个确定的变量基础上,即,我们需要建立超级源点(通常设为 \(x_0\)),对每个点连边。我们建立不等式 \(x_i - x_0 \leq 0\),即有向边 \((0,i,0)\)

对于图上从 \(0\)\(u\) 的一条路径,将路径上的边权全部相加,可以得到 \(x_u - x_0 \leq \sum w\),得到 \(x_u \leq \sum w + x_0\) ,我们将 \(x_0\) 设为 \(0\),能求得 \(x_u\) 满足这一条不等式链的最大取值,对于所有从 \(0\)\(u\) 的路径,其最短路即为 \(x_u\) 的全局最大值。

当然,设置不同的 \(x_0\) ,可以得到不同的 \(x_i\) 的偏移,当 \(x_0=0\) 时,能得到 \(x_i\) 不大于 \(0\) 的一组解。

上述求解的是最大值,一些题目要求解最小值,需要考虑不等式 \(a \leq x_i-x_j\),和最长路的三角不等式 \(d_v \geq d_u +w\) ,还是连边 \((j,i,a)\) ,只不过这次求解的是最长路。对于超级原点有 \(x_i-x_0 \geq 0\),连边 \((0,i,0)\),此时求最长路能得到每个变量的最小值。

更进一步,我们求出的是每个点在满足所有不等式条件后,和 \(x_0\) 差值的最值,和其他变量均没有关系。因此,所有变量的最值就是全局的最优解。例如求所有变量和的最值,那答案即为所有变量最值的和。

例题

给出 \(m\) 个区间 \([l_i,r_i]\),值域在 \([1,n]\) 中,给 \([1,n]\) 选定最少数量的点,使得每个区间内都有至少 \(c_i\) 个点被选定。

设前缀和为 \(p_i\),有不等式 \(0 \leq p_i-p_{i-1} \leq 1\)\(p_{r_i}-p_{l_i-1} \geq c_i\) ,对于 \(p_i-p_{i-1} \leq 1\),转换后得 \(p_{i-1}-p_i \geq -1\),于是连边后求最长路即可。此时超级源点只需要连边 \((0,1)\) 即可,因为整张图都是连通的。

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

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

相关文章

智能化员工工作状态管理:AI视频监控在大型商场的技术方案介绍(part4)

为提升商场或企业的运营效率,商家需要通过AI对员工的行为进行实时监测,不仅能提升运营效率,还能优化资源配置、加强安全管控、提高员工工作表现,从而推动企业持续、健康的发展。 具体需求包括 1、离岗监测:识别员工是否擅自离开工作岗位。 2、工作服及胸卡佩戴:检测员工是…

立体系统(Stereo Systems)总结

上一讲中我们介绍了对极几何的相关知识,在这一讲开头我们先回顾一下平行图像平面的对极几何。 平行图像平面的对极几何(Parallel image planes)在这种情况下,对应点的极线是水平的,光心连线与图像平面的交点(极点)在无穷远处,并且在这种平行配置下,同一个三维点在两个…

DeepSeek AI 满血版功能集成到WPS或Microsoft Office中

DeepSeek AI集成到 WPS或Microsoft Office中, 由于deepseek被攻击或者非常繁忙导致超时的服务器,所以可以用硅基流动部署的DeepSeek 。当然用官网的也可以。使用 OfficeAI 插件集成(wps为例): 下载并安装 OfficeAI 插件:从可靠的软件下载平台https://www.office-ai.cn/,获…

第二章:计算机的构成

复习第一章:需要一台计算机,在研究其组成的方向上进行努力TL;DR计算机由四大核心部分组成:输入设备、输出设备、存储器和运算器 计算机内部采用二进制表示所有信息,包括数字、文字和指令等等 冯诺依曼体系结构是现代计算机的基础框架正文在了解了计算机的诞生历史后,我们来…

第一课 泰坦尼克号预测

目录导入数据将训练数据与测试数据合并查看数据描述性统计查看是否有异常值查看特征与标签之间的关系查看标签是否有偏态数据预处理填充缺失值特征工程特征创造同组识别筛选子集建模 导入数据 将训练数据与测试数据合并 查看数据 描述性统计查看是否有异常值看看各个数据是否偏…

美团面试:手机扫描PC二维码登录,底层原理和完整流程是什么?

本文原文链接 文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录 博客园版 为您奉上珍贵的学习资源 : 免费赠送 :《尼恩Java面试宝典》 持续更新+ 史上最全 + 面试必备 2000页+ 面试必备 + 大厂必备 +涨薪必备 免费赠送 :《尼恩技术圣经+高并发系列PDF》 ,帮你 …

docker官网镜像无法下载问题解决

亲测可用,这个方法是由技术爬爬虾大佬提供,简单地说就是通过github上的docker_image_pusher项目,将国外docker镜像转存到阿里云私人仓库。 此方法需要你有一个github账号,有一个阿里云账号。注册方法这里就不赘述了。 1.1. 获取阿里云相关参数 登录阿里云容器镜像服务。地…

Uptime-kuba安装与使用

Github https://github.com/louislam/uptime-kuma环境查看 系统环境# cat /etc/redhat-release Rocky Linux release 9.3 (Blue Onyx) # uname -a Linux Rocky9Uptimekume003077 5.14.0-362.18.1.el9_3.0.1.x86_64 #1 SMP PREEMPT_DYNAMIC Sun Feb 11 13:49:23 UTC 2024 x86_6…

一文读懂本地部署DeepSeek-R1,如何选择

一文读懂本地部署DeepSeek-R1,如何选择! 想在本地服务器部署DeepSeek-R1?那可得先搞清楚不同版本的硬件需求。DeepSeek-R1是个超厉害的语言模型,有好几个版本,每个版本对计算资源和硬件的要求都不一样。这篇文章能帮你了解各版本的参数、所需硬件,以及怎么根据自身需求选…

LLaMa-Factory 本地微调 Deepseek R1 1.5B 大模型

LLaMA Factory 是一款开源低代码大模型微调框架,集成了业界最广泛使用的微调技术,支持通过 Web UI 界面零代码微调大模型,目前已经成为开源社区内最受欢迎的微调框架之一。项目提供了多个高层次抽象的调用接口,包含多阶段训练,推理测试,benchmark评测,API Server等,使开…

一文读懂本地部署DeepSeek,如何选择

一文读懂本地部署DeepSeek,如何选择! 想在本地服务器部署DeepSeek-R1?那可得先搞清楚不同版本的硬件需求。DeepSeek-R1是个超厉害的语言模型,有好几个版本,每个版本对计算资源和硬件的要求都不一样。这篇文章能帮你了解各版本的参数、所需硬件,以及怎么根据自身需求选合适…