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

左上角点为(1,1),右下角点为(N,M)(上图中N=4,M=5).有以下三种类型的道路 1:(x,y)<==>(x+1,y)
2:(x,y)<==>(x,y+1) 3:(x,y)<==>(x+1,y+1)
道路上的权值表示这条路上最多能够通过的兔子数,道路是无向的. 左上角和右下角为兔子的两个窝,
开始时所有的兔子都聚集在左上角(1,1)的窝里,现在它们要跑到右下解(N,M)的窝中去,狼王开始伏击
这些兔子.当然为了保险起见,如果一条道路上最多通过的兔子数为K,狼王需要安排同样数量的K只狼,
才能完全封锁这条道路,你需要帮助狼王安排一个伏击方案,使得在将兔子一网打尽的前提下,参与的 狼的数量要最小。因为狼还要去找喜羊羊麻烦.
Input 第一行为N,M.表示网格的大小,N,M均小于等于1000. 接下来分三部分 第一部分共N行,每行M-1个数,表示横向道路的权值.
第二部分共N-1行,每行M个数,表示纵向道路的权值. 第三部分共N-1行,每行M-1个数,表示斜向道路的权值. 输入文件保证不超过10M
Output

输出一个整数,表示参与伏击的狼的最小数量.

很明显要求最小割,但是复杂度O(n^3 * m^3)显然承受不了。由于是平面图,可以转成对偶图之后求最短路。

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int oo=0x3f3f3f3f;
const int s=3000005,t=3000006,mod=3000008;
int fir[3000010],ne[7000010],to[7000010],w[7000010],
dis[3000010],in[3000010],que[3000010],
n,m,tot;
void add(int u,int v,int x)
{tot++;ne[tot*2]=fir[u];fir[u]=tot*2;to[tot*2]=v;w[tot*2]=x;ne[tot*2+1]=fir[v];fir[v]=tot*2+1;to[tot*2+1]=u;w[tot*2+1]=x;
}
bool init()
{int i,j,x;scanf("%d%d",&n,&m);if (n==1||m==1) return 0;for (i=1;i<=n;i++)for (j=1;j<m;j++){scanf("%d",&x);add(i==n?s:2*(i*m+j)+1,i==1?t:2*((i-1)*m+j),x);}for (i=1;i<n;i++)for (j=1;j<=m;j++){scanf("%d",&x);add(j==1?s:2*(i*m+j-1)+1,j==m?t:2*(i*m+j),x);}for (i=1;i<n;i++)for (j=1;j<m;j++){scanf("%d",&x);add(2*(i*m+j),2*(i*m+j)+1,x);}
/*  for (i=1;i<=t;i++)for (j=fir[i];j;j=ne[j])printf("%d->%d:%d\n",i,to[j],w[j]);*/
}
int spfa()
{int hd,tl,u,i,v;memset(dis,0x3f,sizeof(dis));dis[s]=0;hd=0;tl=1;que[0]=s;while (hd!=tl){u=que[hd];hd++;hd%=mod;in[u]=0;for (i=fir[u];i;i=ne[i])if (dis[u]+w[i]<dis[v=to[i]]){dis[v]=dis[u]+w[i];if (!in[v]){in[v]=1;que[tl]=v;tl++;tl%=mod;}}}return dis[t];
}
int solve1()
{int i,ans=oo,x;if (m==1&&n==1) return 0;for (i=1;i<=m+n-2;i++){scanf("%d",&x);ans=min(ans,x);}return ans;
}
int main()
{if (init()) printf("%d\n",spfa());else printf("%d\n",solve1());
}

【BJOI2006】bzoj1001 狼抓兔子相关推荐

  1. P2030 - 【BJOI2006】狼抓兔子

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

  2. 【BJOI2006】狼抓兔子

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

  3. BZOJ1001 狼抓兔子 终于过了!

    时间来不及了,先贴代码吧!有时间再写. 好苦逼啊,WA了若干次,还有一次RE,一次TLE. 虽然主要运用的算法和资料都由师兄提供了.还是太弱了,太天真了. 首先,数据范围就WA了,RE了,TLE了. ...

  4. [bzoj1001]狼抓兔子

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

  5. bzoj1001狼抓兔子

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

  6. BZOJ1001 狼抓兔子

    最小割 代码 # include <bits/stdc++.h> # define IL inline # define RG register # define Fill(a, b) m ...

  7. bzoj1001/BJOI2006 狼抓兔子

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

  8. 【BZOJ1001】狼抓兔子

    [BZOJ1001]狼抓兔子 题面 bzoj 题解 懒得平面图转对偶图了,直接最小割板子加优化. #include <iostream> #include <cstdio> # ...

  9. 【BZOJ1001】狼抓兔子题解

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

最新文章

  1. flex+android+教程,android开发flex4.5入门教程.pdf
  2. 在xcode调试断点不能停在代码区的终极解决方案
  3. nyoj - 947(Max Xor)字典树
  4. Windows10 UWP开发 - 响应式设计
  5. 大规模markpoint特效
  6. ssm后台数据是为什么是空值_网易后台开发实习生面试总结
  7. 数据挖掘应用案例:RFM模型分析与客户细分(转)
  8. string 都不能作用于switch_谁带孩子争论不休?家庭教育谁也不能缺席,每个人的作用都不同...
  9. 图解:知识竞赛现场管理系统-PPT双屏版,展示题目时,试题内容提前预审修改及监控图片的产生使用等
  10. quartz 动态添加job_SpringBoot 集成Quartz发布、修改、暂停、删除定时任务
  11. Introduction to Computer Networking学习笔记(十九):rate guarantees交换速度保证
  12. 关于EOS主节点竞选
  13. filenet骗局_将FileNet P8与J2EE消息传递基础结构集成
  14. Android Studio运行app启动模拟器一直卡在“Wating for target device to come online”解决方法
  15. VSCODE 关闭文件和资源管理器关联
  16. MySQL基础学习笔记
  17. python程序判断梅森素数_梅森素数的探索之旅
  18. 阿里云服务器ECS计算型c6和c6e有什么区别?还有c6a和c6t性能对比
  19. iOS开发 -- 一个被苹果下架的App,终于恢复上架
  20. *floa类型和long类型那个取值范围更大?

热门文章

  1. java毕业设计美容院管理系统源码+lw文档+mybatis+系统+mysql数据库+调试
  2. 抖音获取主播间内粉丝团用户信息
  3. AH6910-3V升12V+小封装SOT23-6升压芯片
  4. 第13期:动态规划-dp题集
  5. hdparm命令详解
  6. 有考虑上海硬件工程师工作机会的吗?
  7. Excel可视化图表高级操作,使用滚动条控制图表展示范围
  8. 1452: 你家的狗有病吧
  9. 国外芯片的前缀,生产厂家及网址
  10. 【JPEG图像加密隐私保护——安全性分析综述】