bzoj1001最小割
听说最大流过不去???
dinic果然神了,1000,000的点都能过(主要是比较稀疏)
#include <cstdio>
#define INF 9223372036854775807
int n,m,x,y,z,p,M=;long long ans=;
int d[],l[],fir[],nex[],to[],wei[];
int min(long long a,long long b){if(a<b) return a;else return b;}
void add(int x,int y,int z){to[++M]=y;wei[M]=z;nex[M]=fir[x];fir[x]=M;
to[++M]=x;wei[M]=z;nex[M]=fir[y];fir[y]=M;}
long long dfs(int now,long long flow)
{
if(now==n*m)
return flow;
long long used=;
for(int i=fir[now];i;i=nex[i])
if(d[to[i]]==d[now]+ && wei[i])
{
int fl=dfs(to[i],min(flow-used,wei[i]));
wei[i]-=fl,wei[i^]+=fl;
used+=fl;
if(used==flow)
return flow;
}
// if(!used) d[now]=-1;这句必写,否则T
return used;
}
bool bfs()
{
int h=,t=;
l[]=;d[]=;
for(int i=;i<=n*m;i++) d[i]=-;
while(h<t)
for(int i=fir[l[++h]];i;i=nex[i])
if(wei[i] && (d[to[i]]==-))
l[++t]=to[i],d[l[t]]=d[l[h]]+;
return d[n*m]+;
}
int main()
{
scanf("%d%d",&n,&m);
for(int i=;i<=n;i++)
for(int j=;j<m;j++)
scanf("%d",&p),add((i-)*m+j,(i-)*m+j+,p);
for(int i=;i<n;i++)
for(int j=;j<=m;j++)
scanf("%d",&p),add((i-)*m+j,i*m+j,p);
for(int i=;i<n;i++)
for(int j=;j<m;j++)
scanf("%d",&p),add((i-)*m+j,i*m+j+,p);
while(bfs()) ans+=dfs(,INF);
printf("%lld\n",ans);
return ;
}
不要管longlong,现在打网络流就会想起以前忘记longlong调一晚上的痛苦
bzoj1001最小割的更多相关文章
- 狼抓兔子 BZOJ- 1001 最小割
		
https://www.lydsy.com/JudgeOnline/problem.php?id=1001 一个图,问你花费多少才能把到终点的所有边堵住... 就是求一个最小割,把$(1,1)$和$( ...
 - BZOJ1001 [BeiJing2006]狼抓兔子 最小割 对偶图 最短路
		
原文链接http://www.cnblogs.com/zhouzhendong/p/8686871.html 题目传送门 - BZOJ1001 题意 长成上面那样的网格图求最小割. $n,m\leq ...
 - BZOJ1001 BJOI2006狼抓兔子(最小割+最短路)
		
显然答案就是最小割.直接跑dinic也能过,不过显得不太靠谱. 考虑更正确的做法.作为一个平面图,如果要把他割成两半,那么显然可以用一条曲线覆盖且仅覆盖所有割边.于是我们把空白区域看成点,隔开他们的边 ...
 - BZOJ1001 BeiJing2006 狼抓兔子 【网络流-最小割】*
		
BZOJ1001 BeiJing2006 狼抓兔子 Description 现在小朋友们最喜欢的"喜羊羊与灰太狼",话说灰太狼抓羊不到,但抓兔子还是比较在行的,而且现在的兔子还比较 ...
 - 【bzoj1001】【最短路】【对偶图】【最大流转最小割】狼抓兔子题解
		
[BZOJ1001]狼抓兔子 1001: [BeiJing2006]狼抓兔子 Time Limit: 15 Sec Memory Limit: 162 MBSubmit: 18872 Solved ...
 - 【BZOJ1001】狼抓兔子(平面图最小割转最短路)
		
题意:有一张平面图,求它的最小割.N,M.表示网格的大小,N,M均小于等于1000. 左上角点为(1,1),右下角点为(N,M).有以下三种类型的道路 1:(x,y)<==>(x+1,y ...
 - BZOJ1001[BeiJing2006]狼抓兔子最小割網絡流
		
Description 现在小朋友们最喜欢的"喜羊羊与灰太狼",话说灰太狼抓羊不到,但抓兔子还是比较在行的, 而且现在的兔子还比较笨,它们只有两个窝,现在你做为狼王,面对下面这样一 ...
 - [bzoj1001][BeiJing2006]狼抓兔子_网络流_最小割转对偶图
		
狼抓兔子 bzoj-1001 BeiJing2006 Description 现在小朋友们最喜欢的"喜羊羊与灰太狼",话说灰太狼抓羊不到,但抓兔子还是比较在行的, 而且现在的兔子还 ...
 - BZOJ1001/LG4001 「ICPC Beijing2006」狼抓兔子  平面图最小割转对偶图最短路
		
问题描述 BZOJ1001 LG4001 题解 平面图最小割=对偶图最短路 假设起点和终点间有和其他边都不相交的一条虚边. 如图,平面图的若干条边将一个平面划分为若干个图形,每个图形就是对偶图中的一个 ...
 
随机推荐
- LINQ 函数的实战演练测试
			
1.首先定义一个图书类.专门存放图书的属性信息. 代码如下: //Book.cs using System; namespace LinqTest { public class Book { pu ...
 - angular路由详解:
			
1.$routeProvider ngRoute模块中的服务 2.otherwise:设置用于路由改变时,与任何其他定义的路由无法匹配的时候执行的代码 3.when:为$route服务定义新的路由 例 ...
 - DBCP连接池配置示例
			
<bean id="dataSourceOracle2" class="org.apache.commons.dbcp.BasicDataSource" ...
 - 原生JS实现购物车结算功能代码+zepto版
			
html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3 ...
 - .NET+IIS+MSSQL配置
			
好久没配置.NET+IIS+MSSQL了,跟以前不大一样了.总结下吧. 环境: Windows Server 2012 标准版 x64 SQL Server Express 2014 一.HTTP E ...
 - PHP Ueditor 富文本编辑器
			
2016年12月11日 08:46:59 星期日 百度的简版富文本编辑器umeditor很久没更新了 全功能版本的配置项跟umeditor还是有区别的, 这里说下ueditor怎么对接到项目中去, 主 ...
 - Python3.5之TuShare
			
这部分是直接搬运过来的,官方网站http://tushare.waditu.com/ TuShare是一个免费.开源的python财经数据接口包.主要实现对股票等金融数据从数据采集.清洗加工 到 数据 ...
 - Python之Web框架
			
Python之Web框架: 一. Web框架的本质: 对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. #!/usr/bin/env pyth ...
 - vs2013在使用ReportView11时遇到的问题
			
最近在做项目中用到2013中的ReportView11 在本机IIS中使用完全没问题 但是放到服务器上总是出问题 解决办法:(1)首先在自己机器上开发的时候 是不用引用 Microsoft.R ...
 - 利用代码添加autolayout约束
			
1.概述 通常我们通过storyboard能够完成的,代码也能够完成,所以这里介绍下代码实现约束的添加,通常我们不这么干(在不使用第三方框架的情况下,使用系统自带的类添加约束特别繁琐),所以这里仅仅简 ...