[BJOI2006]狼抓兔子
这个题,就是网络流的模板题。。。根据题意建图。。。然后跑一边就好了。。。
呆码:
#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]狼抓兔子相关推荐
- bzoj1001/BJOI2006 狼抓兔子
1001: [BeiJing2006]狼抓兔子(传送门) 图论新知识..没学过.. 平面图最小割等于对偶图的最短路 详见课件:http://wenku.baidu.com/view/8f1fde586 ...
- 752. [BJOI2006] 狼抓兔子
★★★☆ 输入文件:bjrabbit.in 输出文件:bjrabbit.out 简单对比 时间限制:1 s 内存限制:162 MB Description Source: Beij ...
- 1001. [BJOI2006]狼抓兔子【最小割】
Description 现在小朋友们最喜欢的"喜羊羊与灰太狼",话说灰太狼抓羊不到,但抓兔子还是比较在行的, 而且现在的兔子还比较笨,它们只有两个窝,现在你做为狼王,面对下面这样一 ...
- 【BZOJ 1001】[BJOI2006]狼抓兔子(最大流)
题目链接 最大流裸题,没什么好说吧,恰好点数多,考验网络流的效率,正好练\(Dinic\). #include <cstdio> #include <queue> #inclu ...
- 洛谷P4001 [BJOI2006]狼抓兔子(平面图转对偶图)
传送门 明明只要最小割加点优化就能过的东西-- 然而我偏偏要去学平面图转对偶图结果发现课件关键地方看不清->这里 而且建图累的半死-- 说实话只要最大流建图的时候反向边直接设为当前边容量再加个当 ...
- 1001: [BeiJing2006]狼抓兔子
/**************************************************************Problem: 1001User: whymheLanguage: C+ ...
- P2030 - 【BJOI2006】狼抓兔子
P2030 - [BJOI2006]狼抓兔子 Description 八中OJ上本题链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1001 现 ...
- 【BJOI2006】狼抓兔子
P2030 - [BJOI2006]狼抓兔子 Description 现在小朋友们最喜欢的"喜羊羊与灰太狼",话说灰太狼抓羊不到,但抓兔子还是比较在行的,而且现在的兔子还比较笨,它 ...
- 狼抓兔子(平面图转对偶图)
狼抓兔子(平面图转对偶图) 面对下面这样一个网格的地形: 道路上的权值表示这条路上最多能够通过的兔子数,道路是无向的. 左上角和右下角为兔子的两个窝,开始时所有的兔子都聚集在左上角(1,1)的窝里,现 ...
最新文章
- 计算机二级c语基础知识,计算机二级C语基础知识整理.doc
- python【蓝桥杯vip练习题库】ADV-9 递归倒置字符数组
- centos7磁盘挂载
- des加密 ios 和java_三重Des对称加密在Android、Ios 和Java 平台的实现
- C语言课后习题(40)
- python endswith函数_Python Pandas Series.str.endswith()用法及代码示例
- HDU4891 The Great Pan 暴力
- oracle有三种类型的异常错误: 预定义 ( Predefined )错误里面的常见错误
- linux下iSCSI的配置
- Unity单例模式+例子
- CoreOS部署及应用
- MATLAB中的小技巧
- 面向部件的整车E/E架构开发咨询服务
- 一款经典的 jQuery Lightbox 灯箱效果
- oracle回撤,Oracle使用排列组合计算最大回撤幅度
- 投影坐标系、大地坐标系(地理坐标系)
- vue项目中element-ui的分页器(组件封装)
- Thinkphp中的assign() 和 display()
- 我看世界杯——来自一个“假”球迷视角
- 报表工具花钱or开源?我对比了这6个工具