[BZOJ 1001] 狼抓兔子

描述

http://www.lydsy.com/JudgeOnline/problem.php?id=1001


分析

这是道经典的对偶图问题, 平面图最大流问题可以转化为其对偶图的最短路问题.

转化的方法就是将每个三角形区域看作是一个点, 如果两个三角形区域有公共线, 就在两个结点之间连一条权值为公共线容量的边.

关于编号问题我定义了一个id数组. 表示以点 (x(0~n-2), y(0~m-2)) 为左上角的三角形区域的编号. 右上三角的编号为id[x][y], 右下为id[x][y]^1.

对偶图问题还是不太懂.
一开始我认为应该建立无向图, MLE多次后改为有向图. 但两个三角之间是竖向边的情况该从谁向谁连呢? 两种都试了, 发现竟然都能AC, 但是一个7296ms一个1752ms. 求解释.
后来发现不和起点或终点相连的竖边根本不用考虑, 连都不用连就过了. 而且91196kb, 1404ms. 数据的问题吗? 无语~


代码

1752ms

https://code.csdn.net/snippets/606610#snippets0

posted @ 2015-02-17 23:13  wfwbz  阅读(92)  评论(0编辑  收藏  举报