差分约束系统
2016-07-01 14:18
344 查看
介绍
差分约束系统这种东西非常的神奇,就是如果一个系统由n个变量和m个约束条件组成,形成m个形如ai−aj≤k的不等式(i,j∈[1,n],k为常数),这可以把每个ai当作一个节点,对于一个不等式ai−aj≤k,将aj向ai连一条权值为k的有向边,然后设置一个源点(按实际情况来设置),再用个最短路算法跑一边,就可以得到一组ai的可行解。
原理
我们知道,在一个图中,如果节点aj到节点ai之间有一条有向边,边权为dis(j,i),那么aj+dis(j,i)≥ai移项得ai−aj≤dis(j,i)不就可上面的不等式一样吗。
所以,就可以用最短路算法,来解决这类的问题。
【NOIP2013模拟】DY引擎
提供一道相关的题目,挺好的。
相关文章推荐
- Codeforces Round #359 (Div. 2) D. Kay and Snowflake
- CSS实现隐藏和显示功能的代码
- icinga 监控中文版 安装部署
- 使用Autolayout xib实现动态高度的TableViewCell
- search文件中的config
- 周末学习
- 面试题5:从尾到头打印链表
- c++模板特化
- Android系统访问串口设备
- 模拟实现string类
- Spring 4.3 的新功能和增强
- Android图片加载到底哪家强
- Git 少用 Pull 多用 Fetch 和 Merge
- Mac系统终端命令行不执行命令 总出现command not found解决方法
- 传统的ajax将被fetch替代
- js拼接table查询信息部分
- 07.01工作笔记
- redis采用序列化方案存对象
- Associated Objects
- Android中ViewStub控件分析及使用