1 / 18

PKU1149 PIGS 解题报告

PKU1149 PIGS 解题报告. - Croatia 2002 Final Exam FirstDay 周新彪 00108029 北京大学 01 级 计算机系. 问题描述. 迈克在一个养猪场工作,场里有 M 个猪圈,每个猪圈都上了锁 由于迈克没有钥匙,所以他不能打开任何一个猪圈 顾客一个接一个来到养猪场 每个顾客有一些猪圈的钥匙,而且他们要买一些猪. 问题描述. 所有在某天要到养猪场的顾客,他们的信息是要提前让迈克知道的 这些信息包括顾客所拥有的钥匙、要购买的数量 这样对迈克很有好处:他可以安排销售计划以便卖出最大的数目. 问题描述 - 更为详细的过程.

sade-jordan
Download Presentation

PKU1149 PIGS 解题报告

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PKU1149 PIGS 解题报告 - Croatia 2002 Final Exam FirstDay 周新彪00108029 北京大学01级 计算机系

  2. 问题描述 • 迈克在一个养猪场工作,场里有M个猪圈,每个猪圈都上了锁 • 由于迈克没有钥匙,所以他不能打开任何一个猪圈 • 顾客一个接一个来到养猪场 • 每个顾客有一些猪圈的钥匙,而且他们要买一些猪

  3. 问题描述 • 所有在某天要到养猪场的顾客,他们的信息是要提前让迈克知道的 • 这些信息包括顾客所拥有的钥匙、要购买的数量 • 这样对迈克很有好处:他可以安排销售计划以便卖出最大的数目

  4. 问题描述-更为详细的过程 • 当每个顾客到来时,他将那些他拥有钥匙的猪圈全部打开 • 迈克从这些猪圈中挑出一些猪卖给他们 • 如果迈克愿意,迈克可以重新分配这些被打开的猪圈中的猪 • 猪圈再次被锁上 • 注意:猪圈可容纳的猪的数量没有限制

  5. 输入格式 • 第一行是两个整数:M和N(1≤M≤1000,1≤N≤100) • M是猪圈的数目,N是顾客的数目 • 第二行是M个整数,为每个猪圈中初始猪的数目,范围是[0,1000]

  6. 输入格式-续 • 接下来的N行是顾客的信息,第i个顾客的信息保存在第i+2行 • 顾客信息:A K1 K2…KA B • A为拥有钥匙的数目,Kj表示拥有第Kj个猪圈的钥匙 • B为该顾客想买的猪的数目 • A,B均可为0

  7. 输出格式 • 有且仅有一行 • 能够卖掉的猪的最大数目

  8. Sample Input and Output Sample input 3 3 3 1 10 2 1 2 2 2 1 3 3 1 2 6 Sample Output 7

  9. 网络最大流问题 V1 5 4 5 V2 T S 4 4

  10. 任作可行方案 V1 5,0 4,4 5,4 V2 T S 4,4 4,0

  11. 增广图的作法 • 凡是已经分配流量的边,均画出反向边,反向边的容量为现有方案中分配的流量数 • 凡是分配的流量小于容量的边照常画,但容量改为原容量和流量的差 • 容量等于流量,该边不可画

  12. 增广图 V1 5 4 1 4 V2 T S 4 4

  13. 继续寻找可行方案 V1 5,4 4,0 1,0 4,4 V2 T S 4,0 4,4

  14. 与原图叠加 V1 5,4 4,4 5,0 V2 T S 4,4 4,4

  15. 没有可行方案了 V1 1 4 5 4 V2 T S 4 4

  16. 怎样构造网络流 • 将顾客看作除源和漏以外的节点 • 源和每个猪圈的第一个顾客连边,边的权是开始时猪圈中猪的数目 • 若源和某个节点之间有重边,则将权合并 • 顾客j紧跟在顾客i之后打开某个猪圈,则边<i,j>的权是+∞ • 每个顾客和漏之间连边,边的权是顾客所希望购买的猪的数目

  17. 回归原题 V1 2 4 +∞ V1 +∞ 6 T S 10 V2 3

  18. Thank You For Attention!

More Related