码迷,mamicode.com
首页 > 其他好文 > 详细

网络流专题练习Day2

时间:2015-04-17 10:58:02      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:

 

04/17 

目前做了:4题

由于目前四道都是1A感觉非常爽...

 

 


 

 

BZOJ1412: [ZJOI2009]狼和羊的故事

“狼爱上羊啊爱的疯狂,谁让他们真爱了一场;狼爱上羊啊并不荒唐,他们说有爱就有方向......” Orez听到这首歌,心想:狼和羊如此和谐,为什么不尝试羊狼合养呢?说干就干! Orez的羊狼圈可以看作一个n*m个矩阵格子,这个矩阵的边缘已经装上了篱笆。可是Drake很快发现狼再怎么也是狼,它们总是对羊垂涎三尺,那首歌只不过是一个动人的传说而已。所以Orez决定在羊狼圈中再加入一些篱笆,还是要将羊狼分开来养。 通过仔细观察,Orez发现狼和羊都有属于自己领地,若狼和羊们不能呆在自己的领地,那它们就会变得非常暴躁,不利于他们的成长。 Orez想要添加篱笆的尽可能的短。当然这个篱笆首先得保证不能改变狼羊的所属领地,再就是篱笆必须修筑完整,也就是说必须修建在单位格子的边界上并且不能只修建一部分。

 

  

  首先这道题的题意很显然,就是让我们用最少的篱笆数分开狼群和羊群

  再简化,也就是用最少的边切断所有狼和羊的联系,这么一来就是最小割问题了

  建立一个源点连接所有的狼,所有的羊再向汇点各连一条边,这些边的容量都设为正无穷,表示不能切开

  对于相邻的格子建立容量为1的边,同一种群之间不能建边,羊不需要建出边

  然后跑最大流就可以了

 

 


 

 

 

BZOJ2424: [HAOI2010]订货

某公司估计市场在第i个月对某产品的需求量为Ui,已知在第i月该产品的订货单价为di,上个月月底未销完的单位产品要付存贮费用m,假定第一月月初的库存量为零,第n月月底的库存量也为零,问如何安排这n个月订购计划,才能使成本最低?每月月初订购,订购后产品立即到货,进库并供应市场,于当月被售掉则不必付存贮费。假设仓库容量为S。

 

 

  和餐巾计划问题几乎一模一样,需要改变的两点

  一个是从源点连向左边的点的费用不再为0,而是为当天购买的费用

  因为这道题并不能重复利用只能提前购买

  第二个就是仓库有容量(刚开始多想了认为当天用掉的商品也要计算在库存内

  这个只需要拆点就可以了

  最小费用最大流

 

 


 

 

 

BZOJ1934: [Shoi2007]Vote 善意的投票

幼儿园里有n个小朋友打算通过投票来决定睡不睡午觉。对他们来说,这个问题并不是很重要,于是他们决定发扬谦让精神。虽然每个人都有自己的主见,但是为了照顾一下自己朋友的想法,他们也可以投和自己本来意愿相反的票。我们定义一次投票的冲突数为好朋友之间发生冲突的总数加上和所有和自己本来意愿发生冲突的人数。 我们的问题就是,每位小朋友应该怎样投票,才能使冲突数最小?

 

 

  建立一个源点,连接所有意愿为0的小朋友,建立汇点连接意愿为1的小朋友,边容量均为1

  在好朋友之间建立一条容量为1的边

  然后这道题让我们求的最小冲突数就是最小割了

  最大流跑一遍即可

 

 


 

 

 

 

BZOJ3171: [Tjoi2013]循环格

一个循环格就是一个矩阵,其中所有元素为箭头,指向相邻四个格子。每个元素有一个坐标(行,列),其中左上角元素坐标为(0,0)。给定一个起始位置(r,c)

,你可以沿着箭头防线在格子间行走。即如果(r,c)是一个左箭头,那么走到(r,c-1);如果是右箭头那么走到(r,c+1);如果是上箭头那么走到(r-1,c);如果是下箭头那么走到(r+1,c);每一行和每一列都是循环的,即如果走出边界,你会出现在另一侧。
一个完美的循环格是这样定义的:对于任意一个起始位置,你都可以i沿着箭头最终回到起始位置。如果一个循环格不满足完美,你可以随意修改任意一个元素的箭头直到完美。给定一个循环格,你需要计算最少需要修改多少个元素使其完美。

 

  

  这道题的突破口在于挖掘完美循环格的性质:每个格子的入度都为1!(出度自然为1)

  然后做法就和混合图的欧拉回路判定一样了

  源点连接入度<1的点,容量为1-b[i],汇点连接入度>1的点,容量为b[i]-1

  对于一个箭头我们将它可以转向的点向它原来的点连一条容量为1费用为1的边

  最小费用最大流求解

 

 


 

网络流专题练习Day2

标签:

原文地址:http://www.cnblogs.com/mjy0724/p/4434057.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!