1001. [BJOI2006]狼抓兔子【最小割】
Description
Input
Output
输出一个整数,表示参与伏击的狼的最小数量.
Sample Input
5 6 4
4 3 1
7 5 3
5 6 7 8
8 7 6 5
5 5 5
6 6 6
Sample Output
- #include<iostream>
- #include<cstdio>
- #include<cstring>
- #include<queue>
- #define N (2000000+10)
- using namespace std;
- struct node
- {
- int to,next,Flow;
- }edge[N<<];
- int n,m,x,s,e;
- int head[N],num_edge;
- int Depth[N];
- queue<int>q;
- void add(int u,int v,int l)
- {
- edge[++num_edge].to=v;
- edge[num_edge].Flow=l;
- edge[num_edge].next=head[u];
- head[u]=num_edge;
- }
- bool Bfs(int s,int e)
- {
- memset(Depth,,sizeof(Depth));
- Depth[s]=;
- q.push(s);
- while (!q.empty())
- {
- int x=q.front();
- q.pop();
- for (int i=head[x];i!=;i=edge[i].next)
- if (!Depth[edge[i].to] && edge[i].Flow>)
- {
- Depth[edge[i].to]=Depth[x]+;
- q.push(edge[i].to);
- }
- }
- return Depth[e]!=;
- }
- int Dfs(int x,int low)
- {
- int Min,f=;
- if (x==e || low==) return low;
- for (int i=head[x];i!=;i=edge[i].next)
- if (edge[i].Flow> && Depth[edge[i].to]==Depth[x]+ && (Min=Dfs(edge[i].to,min(edge[i].Flow,low))))
- {
- edge[i].Flow-=Min;
- edge[((i-)^)+].Flow+=Min;
- f+=Min;
- low-=Min;
- if (low==) return f;
- }
- if (f==) Depth[x]=;
- return f;
- }
- int Dinic(int s,int e)
- {
- int Ans=;
- while (Bfs(s,e))
- Ans+=Dfs(s,0x7fffffff);
- return Ans;
- }
- int main()
- {
- scanf("%d%d",&n,&m);//n行m列
- s=,e=n*m;
- for (int i=;i<=n;++i)
- for (int j=;j<=m-;++j)
- {
- scanf("%d",&x);
- add((i-)*m+j,(i-)*m+j+,x);
- add((i-)*m+j+,(i-)*m+j,x);
- }
- for (int i=;i<=n-;++i)
- for (int j=;j<=m;++j)
- {
- scanf("%d",&x);
- add((i-)*m+j,i*m+j,x);
- add(i*m+j,(i-)*m+j,x);
- }
- for (int i=;i<=n-;++i)
- for (int j=;j<=m-;++j)
- {
- scanf("%d",&x);
- add((i-)*m+j,i*m+j+,x);
- add(i*m+j+,(i-)*m+j,x);
- }
- printf("%d",Dinic(s,e));
- }
1001. [BJOI2006]狼抓兔子【最小割】的更多相关文章
- BZOJ 1001: [BeiJing2006]狼抓兔子 最小割
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1001 现在小朋友们最喜欢的"喜羊羊与灰太狼",话说灰太狼抓羊不到,但抓 ...
- [bzoj 1001][Beijing2006]狼抓兔子 (最小割+对偶图+最短路)
Description 现在小朋友们最喜欢的"喜羊羊与灰太狼",话说灰太狼抓羊不到,但抓兔子还是比较在行的, 而且现在的兔子还比较笨,它们只有两个窝,现在你做为狼王,面对下面这样一 ...
- [BJOI2006]狼抓兔子——最小割转对偶图最短路
其实这个题直接Dinic跑最小割可过. (小优化是: 无向图建网络流,一条边不用建成4条,可以正反容量都是边权即可.完全等价 ) [无效]网络流之转换对偶图 一个巧妙的事情是,如果建边合适的话,最小割 ...
- bzoj 1001 [BeiJing2006]狼抓兔子——最小割转最短路
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1001 #include<cstdio> #include<cstring& ...
- BZOJ.1001.[BeiJing2006]狼抓兔子(最小割ISAP)
题目链接 为什么这题网络流这么快,海拔那题就那么慢.. //119968kb 544ms //路不是有向的,所以要建四条边..既然如此就直接将反向边的流量设为w了.(or MLE...) #inclu ...
- BZOJ 1001 狼抓兔子 (最小割转化成最短路)
1001: [BeiJing2006]狼抓兔子 Time Limit: 15 Sec Memory Limit: 162 MBSubmit: 27715 Solved: 7134[Submit][ ...
- BZOJ1001: [BeiJing2006]狼抓兔子 [最小割 | 对偶图+spfa]
1001: [BeiJing2006]狼抓兔子 Time Limit: 15 Sec Memory Limit: 162 MBSubmit: 19528 Solved: 4818[Submit][ ...
- bzoj1001: [BeiJing2006]狼抓兔子 -- 最小割
1001: [BeiJing2006]狼抓兔子 Time Limit: 15 Sec Memory Limit: 162 MB Description 现在小朋友们最喜欢的"喜羊羊与灰太狼 ...
- [BJOI2006][bzoj1001] 狼抓兔子 [最小割]
题面: 传送门 思路: 其实就是一道最小割的题目...... 我的写法加了两个优化,常数比较小,所以过掉了 一个是当前弧,一个是若当前点并不能流出去,那么标记dep为-1 听说正解是对偶图最短路?可以 ...
随机推荐
- .net core 2.2 部署CentOS7(3)安装Xshell操控CentOS7
目录: .net core 2.2 部署CentOS7(1)安装虚拟机 .net core 2.2 部署CentOS7(2)给虚拟机安装CentOS7 .net core 2.2 部署CentOS7( ...
- spring boot在intellij idea下整合mybatis可能遇到的问题
org.apache.ibatis.builder.BuilderException: Wrong namespace. Expected 'com.sc.starry_sky.dao.UserMap ...
- 南阳nyoj 509 因子和阶乘
因子和阶乘 时间限制:1000 ms | 内存限制:65535 KB 难度:2 http://acm.nyist.net/JudgeOnline/problem.php?pid=509 描述 给 ...
- Vue 中的 v-cloak 解读
v-cloak 的作用和用法 用法: 这个指令保持在元素上直到关联实例结束编译.和 CSS 规则如 [v-cloak] { display: none } 一起用时,这个指令可以隐藏未编译的 Must ...
- YII使用beanstalk队列
转载于:http://blog.csdn.net/yao970953039/article/details/41821387 1.系统centos 我是直接使用yum install beanstal ...
- 移动web模拟客户端实现多方框输入密码效果
不知道怎么描述标题,先看截图吧,大致的效果就是一个框输入一位密码. 最开始实现的思路是一个小方框就是一个type为password的input,每输入一位自动跳到下一位,删除一位就自动跳到前一位,an ...
- 润乾报表JSF FORM 标签中使用填报表解决方案
需求 润乾报表的标签需要在jsf页面中和其他填报控件一起使用,润乾报表负责展现录入部分数据,并且这部分数据和页面的其它控件的数据存在前台和后台的交互. 问题 润乾报表在前台会生成自己的form, ...
- 抓取远程master分支到本地,并与UI分支合并
1.pull (1)UI: git add . git commit -m git checkout master (2)master: git pull origin master git ...
- Redis 入门之基础
1.安装 redis-windows redis服务端下载 redis客户端下载 redis官网 redis中文网 1.1 Window下安装 redis-server.exe redis.windo ...
- [翻译] DDExpandableButton
DDExpandableButton https://github.com/ddebin/DDExpandableButton Purpose - 目的 DDExpandableButton is a ...