beloved_ACM

SB,NB,都是一个B.
posts - 29, comments - 2, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理
  题目连接:http://poj.org/problem?id=3498
  带点容量限制的做法是拆点,把一个点拆成两个点,他们直接连一条边就是点容量。然后再求最大流。
  此题的做法是把每个ice floe拆成两个点i,和i',他们之间连一条边为可跳跃次数,原点连接每个ice floe的i,容量为每个ice floe上企鹅的个数,然后根据企鹅的跳跃与坐标位置见图,如果企鹅可从i题floe i 跳到 floe j, 则i'向j连一条无穷大的边,j‘向i连一条无穷大的边,然后枚举汇点,建立一个汇点,然后用枚举的floe i和汇点连一条无穷大的边,这里要注意,不需要每次去重新见图,直接删除添加与汇点连接的那条边就好,邻接表不知道怎么完成删除一条边,用邻接矩阵就可以了。到此建模完成,直接流。代码就不贴了。

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理