[BZOJ 1001] 狼抓兔子
描述
分析
这是道经典的对偶图问题, 平面图最大流问题可以转化为其对偶图的最短路问题.
转化的方法就是将每个三角形区域看作是一个点, 如果两个三角形区域有公共线, 就在两个结点之间连一条权值为公共线容量的边.
关于编号问题我定义了一个id数组. 表示以点 (x(0~n-2), y(0~m-2)) 为左上角的三角形区域的编号. 右上三角的编号为id[x][y], 右下为id[x][y]^1.
对偶图问题还是不太懂.
一开始我认为应该建立无向图, MLE多次后改为有向图. 但两个三角之间是竖向边的情况该从谁向谁连呢? 两种都试了, 发现竟然都能AC, 但是一个7296ms一个1752ms. 求解释.
后来发现不和起点或终点相连的竖边根本不用考虑, 连都不用连就过了. 而且91196kb, 1404ms. 数据的问题吗? 无语~
代码
1752ms