PKU 2391[floyd+二分枚举+[最大流]【sap模板】]
来源:互联网 发布:淘宝店铺女装女鞋介绍 编辑:程序博客网 时间:2024/05/16 01:55
http://acm.pku.edu.cn/JudgeOnline/problem?id=2391
题意:一个农场有F块土地,每块土地上有cow[i]头牛,有的土地上有一个能够给牛避雨的草棚,这个草棚能容纳的牛是col[i]头,然后这F块地有P条双向路径相连每条路径每次可走无限都牛,每条路径有一个以个长度。。求,若下雨的时候所有的牛能够躲在草棚下的最短距离是多少,若不能满足条件,则输出-1;
2分+最大流。
cow[]记录每个点初始有多少人,col[]记录每个点能容纳多少人
接受路径之后用floyd求出最短路,然后根据最短路的最长值(因为奶牛转移是并行操作,只跟路径最长有关
系)2分。对每个2分的路径长度cost,拆点构图:
每个点ai拆成ai1,ai2
总源点向每个点ai1连一条容量为cow[i]的边,每个点ai2向总汇点引一条容量为col[i]的边。
对求出的floyd中,将所有长度小于cost的点引入新构的图中。
但是如此用普通的FF最大流算法还是会TLE的,这里我用的是sap,一般的题卡Dinic也不会卡sap;
优化1:离散化最短路,将求出的Floyd的路径分离出来,排序,设总路径条数为rn则只要通过log(rn)次枚举。
代码:
- PKU 2391[floyd+二分枚举+[最大流]【sap模板】]
- PKU 2289(网络最大流(SAP) + 二分枚举)
- POJ-2112 Floyd+二分枚举+最大流(or 匈牙利)
- poj 2391 Ombrophobic Bovines(二分枚举+floyd+最大流+拆点)
- pku 1178[枚举+floyd]
- POJ 2391 floyd+二分+最大流
- poj 2391 floyd+二分+最大流
- poj 2391 (Floyd+最大流+二分)
- POJ 2391 floyd+二分最大流
- POJ 2112 2391 floyd 二分 最大流
- POJ 2391 二分,Floyd, 网络最大流
- Ombrophobic Bovines poj 2391 二分+拆点+最大流sap模板
- 最大流 SAP模板
- 最大流Sap模板
- 最大流SAP模板
- SAP最大流模板
- POJ 2391 二分+SAP最大流
- poj2112 二分最大流+Floyd
- 学习java的30个目标
- C++笔记——c++编程思想(上)前3章
- HTTP探究(原创)
- 查看表占用空间
- 以前用过的一点东西
- PKU 2391[floyd+二分枚举+[最大流]【sap模板】]
- HTTP服务器模拟(原创)
- Fedora VNC Server配置
- 三种 对话框
- java基础知识
- 求职复习算法整理
- 动态语言切换(续)-designer中的retranslateUi(带源码)
- C#仿QQ皮肤-总体层次说明(一)
- 一个.java文件是否一定要和文件中的类名相同呢?一个.java文件中可以包含多个类吗?