解题:BJOI 2006 狼抓兔子
可以看出来是最小割,然后你就去求最大流了
这么大的范围就是让你用网络流卡的?咋想的啊=。=???
建议还是老老实实用 平面图最小割等于其对偶图最短路 这个东西来做吧,虽然这个东西跑的也挺慢的,最后一个点跑了$2s$
对偶图就是被边分割出来的每个区域当成一个点,然后两个区域有公共边就连边,起点和终点的问题就在源汇点中间连一条边然后就能分出来了
- #include<queue>
- #include<cstdio>
- #include<cctype>
- #include<cstring>
- #include<algorithm>
- using namespace std;
- const int N=,M=;
- struct a{int node,dist;};
- bool operator < (a x,a y)
- {
- return x.dist>y.dist;
- }
- priority_queue<a> hp;
- int p[N],noww[*M],goal[*M],val[*M],dis[N],vis[N];
- int n,m,rd,st,ed,bs,t1,t2,cnt;
- void Read(int &x)
- {
- x=; char ch=getchar();
- while(!isdigit(ch))
- ch=getchar();
- while(isdigit(ch))
- x=(x<<)+(x<<)+(ch^),ch=getchar();
- }
- void Link(int f,int t,int v)
- {
- noww[++cnt]=p[f],p[f]=cnt;
- goal[cnt]=t,val[cnt]=v;
- }
- int ID(int a,int b,int c)
- {
- if(a>n||!b) return st;
- if(!a||b>m) return ed;
- return (a-)*m+b+c*n*m;
- }
- void Dijkstra()
- {
- memset(dis,0x3f,sizeof dis);
- dis[st]=,hp.push((a){st,});
- while(!hp.empty())
- {
- a tt=hp.top(); hp.pop(); int tn=tt.node;
- if(vis[tn]) continue; vis[tn]=true;
- for(int i=p[tn];i;i=noww[i])
- if(dis[goal[i]]>dis[tn]+val[i])
- {
- dis[goal[i]]=dis[tn]+val[i];
- hp.push((a){goal[i],dis[goal[i]]});
- }
- }
- }
- int main()
- {
- register int i,j;
- Read(n),Read(m);
- n--,m--,st=*n*m+,ed=st+;
- for(i=;i<=n+;i++)
- for(j=;j<=m;j++)
- {
- Read(rd),t1=ID(i,j,),t2=ID(i-,j,);
- Link(t1,t2,rd),Link(t2,t1,rd);
- }
- for(i=;i<=n;i++)
- for(j=;j<=m+;j++)
- {
- Read(rd),t1=ID(i,j,),t2=ID(i,j-,);
- Link(t1,t2,rd),Link(t2,t1,rd);
- }
- for(i=;i<=n;i++)
- for(j=;j<=m;j++)
- {
- Read(rd),t1=ID(i,j,),t2=ID(i,j,);
- Link(t1,t2,rd),Link(t2,t1,rd);
- }
- Dijkstra(); printf("%d",dis[ed]);
- return ;
- }
解题:BJOI 2006 狼抓兔子的更多相关文章
- P4001 [ICPC-Beijing 2006]狼抓兔子
题目地址:P4001 [ICPC-Beijing 2006]狼抓兔子 平面图 边与边只在顶点相交的图. 对偶图 对于一个平面图,都有其对应的对偶图. 平面图被划分出的每一个区域当作对偶图的一个点: 平 ...
- 2021.12.02 P4001 [ICPC-Beijing 2006]狼抓兔子(最小割)
2021.12.02 P4001 [ICPC-Beijing 2006]狼抓兔子(最小割) https://www.luogu.com.cn/problem/P4001 题意: 把图分成两部分需要的最 ...
- 洛谷 P4001 [ICPC-Beijing 2006]狼抓兔子
题目描述 现在小朋友们最喜欢的"喜羊羊与灰太狼",话说灰太狼抓羊不到,但抓兔子还是比较在行的,而且现在的兔子还比较笨,它们只有两个窝,现在你做为狼王,面对下面这样一个网格的地形: ...
- 洛谷$P4001\ [ICPC-Beijing 2006]$狼抓兔子 网络流+对偶图
正解:网络流+对偶图 解题报告: 传送门! $umm$日常看不懂题系列了$kk$.其实就是说,给定一个$n\cdot n$的网格图,求最小割$QwQ$ 然后网格图的话显然是个平面图,又看到数据范围$n ...
- P4001-[ICPC-Beijing 2006]狼抓兔子【对偶图】
正题 题目链接:https://www.luogu.com.cn/problem/P4001 题目大意 给出一个类似于 的网格图,求起点到终点的最小割. 解题思路 最小割直接跑网络流,然后发现\(di ...
- ICPC-Beijing 2006 狼抓兔子
题目描述 题解: 裸的最小割. 但是最大流跑不过去怎么办? 转变一下,既然最大流是一条左下<->右上的通路,我们可以把图划分为若干区域, 最后找左下到右上的最短路就行了. 代码: #inc ...
- [BZOJ 2006] 狼抓兔子
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1001 [算法] 最小割 [代码] #include<bits/stdc++.h ...
- 【洛谷4001】 [ICPC-Beijing 2006]狼抓兔子(最小割)
传送门 洛谷 Solution 直接跑最小割板子就好了. 代码实现 #include<stdio.h> #include<stdlib.h> #include<strin ...
- bzoj1001 [ICPC-Beijing 2006]狼抓兔子
我满心以为本题正解为最短路,结果到处都是最大流…… 几乎所有的都写了什么“对偶图”跑最短路,但我真的不知道什么叫做对偶图---------------------------------------- ...
随机推荐
- passwd命令详解
基础命令学习目录首页 passwd命令用于设置用户的认证信息,包括用户密码.密码过期时间等.系统管理者则能用它管理系统用户的密码.只有管理者可以指定用户名称,一般用户只能变更自己的密码. 语法 pas ...
- Django之Form
目录 一.说明 二.参数说明 三.自定义验证规则 四.实例 一.说明 Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数 ...
- +new Date()的用法
var s=+newDate(); var s=+newDate(); 解释如下:=+是不存在的; +new Date()是一个东西; +相当于.valueOf(); 看到回复补充一下.getTi ...
- (第十一周)约跑APP测试报告
项目名称:约跑App 用户需求规格说明书URL:http://www.cnblogs.com/liquan/p/6071804.html 组长博客URL:http://www.cnblogs.com/ ...
- check the manual that corresponds to your MySQL server version for the right syntax to use near 'desc
往一个新建的MySQL表中插入数据报错 2018-08-22 14:09:18.875 ERROR 9256 --- [apr-8080-exec-9] o.s.b.w.servlet.support ...
- Daily Scrum (2015/10/25)
今天终于到了周末的尾声,我们的组员也应该正常得投入到工作中了.这天晚上我(符美潇)和PM(潘礼鹏)和两个DEV开了一个小会,讨论一下我们本周的代码编写工作.我们了解到大家的代码阅读工作和相关知识的学习 ...
- Task 6.2冲刺会议六 /2015-5-19
今天主要写的是登陆界面,用户状态,历史登录信息,默认用户等等.由于大部分时间都是把代码组合拳起来的过程,所以总会出现各种bug,有好大一部分不会修复.明天要继续这一部分还有熟悉一下聊天的主界面.
- DPDK实例程序:testpmd
用户手册:https://doc.dpdk.org/guides/testpmd_app_ug/index.html 还不错的入门:http://syswift.com/188.html 我的运行情况 ...
- ssh结合使用
springxml配置 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi=& ...
- form表单转化json对象
利用 $.fn 可以让每一个jquery 对象都能直接使用这个方法. //form表单转化json对象$.fn.serializeObject = function () { var o = {}; ...