zoukankan      html  css  js  c++  java
  • POJ 3498 最大流

    题意:

    二维平面上有n个浮冰(用坐标表示浮冰位置),开始时每个浮冰上有一些企鹅,现在企鹅需要聚到某一个浮冰上,因此需要从一个浮冰跳到另一个浮冰上。浮冰比较特殊,每次企鹅跳离该浮冰时,由于反弹作用,浮冰会消融一部分,现在告诉,每块浮冰的坐标(xi,yi),每块浮冰最多可以被企鹅跳的次数(ni),每块浮冰上初始的企鹅数量(mi)以及企鹅可以跳跃的最大距离D。求这些企鹅最后可以在哪些浮冰上汇聚。输出可以汇聚的浮冰序号,下标从0..n-1,如果不能汇聚,输出-1。

    题解:

    枚举汇聚的那块浮冰为T,最大流求解。

    关键是怎样限制点的出度数(浮冰会融化!),以前好像谈到过,就是拆点。

    拆成2n个点(i和(i+n)对应),若u到v有边,则从u向(v+n)连一条容量1的边,从u向(u+n)连一条容量为INF的边,从S向i(1<=i<=n)连容量为i号冰上的企鹅数目的边。

    这样就可以达到限制度的效果了~

    我又偷懒了,有没有自己打。。。思考最重要!

    http://www.cnblogs.com/kevinkitty/archive/2012/04/02/kevinkitty_poj3498.html

    这位同学的sap好快啊。。ps:其实我同学的dinic跑了400ms

    没有人能阻止我前进的步伐,除了我自己!
  • 相关阅读:
    12、SpringBoot-CRUD增加数据
    12、SpringBoot-CRUD增加数据
    Cache操作类
    pythonhttp
    python学习
    自动化测试LoadRunner
    pythonweb自动化测试
    python学习工具篇
    python学习
    自动化测试之python安装
  • 原文地址:https://www.cnblogs.com/proverbs/p/2851954.html
Copyright © 2011-2022 走看看