[BZOJ 1001] 狼抓兔子
2015-02-17 23:13
176 查看
描述
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
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
相关文章推荐
- BZOJ 1001 [BeiJing2006]狼抓兔子 (UVA 1376 Animal Run)
- BZOJ 1001 狼抓兔子 平面图最小割
- BZOJ 1001([BeiJing2006]狼抓兔子-最大流转对偶图最短路)
- BZOJ 1001 狼抓兔子 - 最短路
- BZOJ-1001 狼抓兔子 (最小割-最大流)平面图转对偶图+SPFA
- BZOJ 1001 狼捉兔子
- BZOJ 1001[BeiJing2006]狼抓兔子 最小割转最短路
- 【BZOJ】 1001 [BeiJing2006]狼抓兔子 网络最大流
- BZOJ 1001 [BeiJing2006]狼抓兔子 最短路
- BZOJ1001: [BeiJing2006]狼抓兔子
- 平面图转对偶图(Bzoj1001:狼抓兔子)
- bzoj1001【BeiJing2006】狼抓兔子
- BZoj1001狼抓兔子
- BZOJ 1001 狼抓兔子 (最小割转化成最短路)
- bzoj1001 [BeiJing2006]狼抓兔子
- 【BZOJ1001】【BJOI2006】狼抓兔子
- 【BZOJ1001】狼抓兔子(网络流)
- BZOJ 1001 狼抓兔子 (最大流)
- [bzoj1001]狼抓兔子解题报告(最大流最小割定理)
- 【bzoj1001】[BeiJing2006]狼抓兔子