bzoj 3112 从 线性规划 到 网络流 浙江oi2013 战线防守
来源:互联网 发布:钣金下料软件 编辑:程序博客网 时间:2024/04/29 23:38
线性规划约束条件中如果每个变量在且只在两个约束条件中出现,并且系数为+1、-1,则可构造出网络流模型。
题意:战线看作长度为n的序列,现在需要在这个序列上建塔,在i号位置上建一座塔有
内容太长,先说网络流建图方法:
先搞s、t,再加n+2个结点(为了方便,前后各加一个),i向i+1连边,容量无穷,费用0;
对于题目中给出的m个限制,
s向i连容量为
跑最大费用最大流
思路:
设
可以得到:
目标函数(最小化):
∑i=1n(si−si−1)∗ci
约束条件:sri−sli−1≥di si−si−1≥0 si≥0
到这里,单纯形已经可搞啦!
注意到每个约束条件只有两个变量出现,并且是+1和-1,单纯形直接忽略了这个特性。
为了构造网络流模型,要先对原问题求对偶:
设
得到:
目标函数(最大化)
∑i=1npri,li−1∗di
约束条件qi,i−1−qi+1,i+∑jpi,j−∑jpj,i≤ci−ci+1 q,p≥0
将等式看作点,将变量看作边。由于每个变量只在两个等式出现,一正一负,恰好表示流入和流出。
把约束条件表示成松弛形式
上面这个等式,表示的是结点i,一次考虑每个变量来建边。
考虑q:i-1向i连边,费用0,容量无穷。
考虑p:对于每个题目给出的
考虑常数c:i向t连边,费用0,容量
考虑a:i向t连边,费用0,容量无穷。
显然答案会在最大流时取到。
于是就可以用带上下界的 最大费用最大流求解了!
但是建图可以更优。
对于对偶后得到的约束条件,如果把他们左边右边全部叠加起来,会得到
对于常数c,对应的边都是连向s和t的。s的所有出边的容量和为
于是就可以用最大费用最大流求解啦!
- bzoj 3112 从 线性规划 到 网络流 浙江oi2013 战线防守
- bzoj 3112(zjoi 2013 防守战线) 线性规划+网络流
- BZOJ 3112 [Zjoi2013]防守战线 线性规划
- 线性规划单纯型法(bzoj 3112: [Zjoi2013]防守战线)
- BZOJ 3112 防守战线
- BZOJ 3112 [Zjoi2013]防守战线
- [LP对偶费用流] BZOJ 3112 [Zjoi2013]防守战线
- BZOJ 3112 Zjoi2013 防守战线 单纯形
- [BZOJ 3112][ZJOI 2013]防守战线
- bzoj 3112: [Zjoi2013]防守战线 单纯形
- bzoj 3112: [Zjoi2013]防守战线 单纯形
- [BZOJ 3112][Zjoi2013]防守战线:单纯形
- BZOJ 3112([Zjoi2013]防守战线-单纯形)
- [线性规划 费用流]BZOJ1061 志愿者招募 && BZOJ3112防守战线
- [单纯形 || 差分费用流 || 辅助变量费用流] BZOJ 3112 [Zjoi2013]防守战线
- bzoj 3112: [Zjoi2013]防守战线 (单纯形)
- BZOJ 3265 志愿者招募(BZOJ 1061)加强版 && BZOJ 3112 [Zjoi2013]防守战线 单纯形
- 【codevs 1618】[省队选拔赛浙江]防守战线(单纯形)
- 当使用easyui时,jquery的设置disabled属性方法失效
- JavaScript 异常处理及异常收集
- cmd "command not found"问题的真正原因和解决办法
- Fragment
- spring配置jdbc连接oracle,mysql,sqlserver
- bzoj 3112 从 线性规划 到 网络流 浙江oi2013 战线防守
- (007)SimpleAdapter——最简单的适配器
- 完美解决修改ToolBar高度的问题
- |洛谷|堆|P1168 中位数
- jdbcuser登陆端
- 如何关闭Sublime Text 3的自动更新?
- 7.nginx源码分析之数据结构:ngx_array_t
- 图片上传功能
- php cli 与cgi