这个题,就是网络流的模板题。。。根据题意建图。。。然后跑一边就好了。。。

呆码:

#include<iostream>
#include<cstdio>
#include<queue>
#include<cstring>
#define ll long long
#define N (i-1)*m+j
#define INF 99999999
#define maxn 2000020
using namespace std;
int num=-1,w[maxn*4],head[maxn*4],dep[maxn];
int cur[maxn],n,m,s,t;struct asd{int nxt;int to;
} a[maxn*4];
queue <int> q;inline void add(int x,int y,int z)
{a[++num].nxt=head[x];a[num].to=y;w[num]=z;head[x]=num;
}inline bool bfs()
{while(!q.empty()) q.pop();memset(dep,0,sizeof(dep));dep[s]=1; q.push(s);while(!q.empty()){int now=q.front(); q.pop();for(int i=head[now];i!=-1;i=a[i].nxt)if(w[i]>0 && dep[a[i].to]==0){dep[a[i].to]=dep[now]+1;q.push(a[i].to);}}if(dep[t]==0) return 0;else return 1;
}inline int dfs(int u,int dis)
{if(u==t) return dis;int diss=0;for(int& i=cur[u];i!=-1;i=a[i].nxt)if(w[i]!=0 && dep[a[i].to]==dep[u]+1){int disss=dfs(a[i].to,min(w[i],dis));if(disss){diss+=disss;dis-=disss;w[i]-=disss;w[i^1]+=disss;}if(!dis) break;}return diss;
}inline ll Dinic()
{ll ans=0;while(bfs()){for(int i=s;i<=t;i++) cur[i]=head[i];while(int d=dfs(s,INF))ans+=d;}return ans;
}int main()
{memset(head,-1,sizeof(head));scanf("%d%d",&n,&m);s=1,t=n*m;int x;for(int i=1;i<=n;i++)for(int j=1;j<=m-1;j++){scanf("%d",&x);add(N,N+1,x);add(N+1,N,x);}for(int i=1;i<=n-1;i++)for(int j=1;j<=m;j++){scanf("%d",&x);add(N,N+m,x);add(N+m,N,x);}for(int i=1;i<=n-1;i++)for(int j=1;j<=m-1;j++){scanf("%d",&x);add(N,N+m+1,x);add(N+m+1,N,x);}printf("%lld\n",Dinic());
}

代码

转载于:https://www.cnblogs.com/zzzyc/p/9297618.html

[BJOI2006]狼抓兔子相关推荐

  1. bzoj1001/BJOI2006 狼抓兔子

    1001: [BeiJing2006]狼抓兔子(传送门) 图论新知识..没学过.. 平面图最小割等于对偶图的最短路 详见课件:http://wenku.baidu.com/view/8f1fde586 ...

  2. 752. [BJOI2006] 狼抓兔子

    ★★★☆   输入文件:bjrabbit.in   输出文件:bjrabbit.out   简单对比 时间限制:1 s   内存限制:162 MB Description   Source: Beij ...

  3. 1001. [BJOI2006]狼抓兔子【最小割】

    Description 现在小朋友们最喜欢的"喜羊羊与灰太狼",话说灰太狼抓羊不到,但抓兔子还是比较在行的, 而且现在的兔子还比较笨,它们只有两个窝,现在你做为狼王,面对下面这样一 ...

  4. 【BZOJ 1001】[BJOI2006]狼抓兔子(最大流)

    题目链接 最大流裸题,没什么好说吧,恰好点数多,考验网络流的效率,正好练\(Dinic\). #include <cstdio> #include <queue> #inclu ...

  5. 洛谷P4001 [BJOI2006]狼抓兔子(平面图转对偶图)

    传送门 明明只要最小割加点优化就能过的东西-- 然而我偏偏要去学平面图转对偶图结果发现课件关键地方看不清->这里 而且建图累的半死-- 说实话只要最大流建图的时候反向边直接设为当前边容量再加个当 ...

  6. 1001: [BeiJing2006]狼抓兔子

    /**************************************************************Problem: 1001User: whymheLanguage: C+ ...

  7. P2030 - 【BJOI2006】狼抓兔子

    P2030 - [BJOI2006]狼抓兔子 Description 八中OJ上本题链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1001  现 ...

  8. 【BJOI2006】狼抓兔子

    P2030 - [BJOI2006]狼抓兔子 Description 现在小朋友们最喜欢的"喜羊羊与灰太狼",话说灰太狼抓羊不到,但抓兔子还是比较在行的,而且现在的兔子还比较笨,它 ...

  9. 狼抓兔子(平面图转对偶图)

    狼抓兔子(平面图转对偶图) 面对下面这样一个网格的地形: 道路上的权值表示这条路上最多能够通过的兔子数,道路是无向的. 左上角和右下角为兔子的两个窝,开始时所有的兔子都聚集在左上角(1,1)的窝里,现 ...

最新文章

  1. 计算机二级c语基础知识,计算机二级C语基础知识整理.doc
  2. python【蓝桥杯vip练习题库】ADV-9 递归倒置字符数组
  3. centos7磁盘挂载
  4. des加密 ios 和java_三重Des对称加密在Android、Ios 和Java 平台的实现
  5. C语言课后习题(40)
  6. python endswith函数_Python Pandas Series.str.endswith()用法及代码示例
  7. HDU4891 The Great Pan 暴力
  8. oracle有三种类型的异常错误: 预定义 ( Predefined )错误里面的常见错误
  9. linux下iSCSI的配置
  10. Unity单例模式+例子
  11. CoreOS部署及应用
  12. MATLAB中的小技巧
  13. 面向部件的整车E/E架构开发咨询服务
  14. 一款经典的 jQuery Lightbox 灯箱效果
  15. oracle回撤,Oracle使用排列组合计算最大回撤幅度
  16. 投影坐标系、大地坐标系(地理坐标系)
  17. vue项目中element-ui的分页器(组件封装)
  18. Thinkphp中的assign() 和 display()
  19. 我看世界杯——来自一个“假”球迷视角
  20. 报表工具花钱or开源?我对比了这6个工具

热门文章

  1. configure: error: you must configure in a separate build directory
  2. 使用 PhpStorm 来开发和 Debug Laravel Sail 项目
  3. python程序实验教程_20192428 实验一《Python程序设计》实验报告
  4. 长链剖分优化树形dp
  5. 火狐浏览器页面元素查看
  6. 什么样的知识付费系统功能,更有利于平台与讲师发展?
  7. vue实现修改用户信息的全过程
  8. 中移动收购米雷康姆在巴基斯坦子公司剩余股份
  9. 你会爬虫吗,我来教你爬海关蜀黍
  10. leetcode-441 排列硬币