一定要仔细算内存,,,又少写一个零。。

  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. template<const int _n,const int _m>
  6. struct Edge
  7. {
  8. struct Edge_base { int to,next,w; }e[_m]; int cnt,p[_n];
  9. void insert(const int x,const int y,const int z)
  10. { e[++cnt].to=y; e[cnt].next=p[x]; e[cnt].w=z; p[x]=cnt; }
  11. void clear() { cnt=,memset(p,,sizeof(p)); }
  12. Edge() { clear(); } int start(const int x) { return p[x]; }
  13. Edge_base& operator[](const int x) { return e[x]; }
  14. };
  15.  
  16. int n,m,Dis[];
  17. bool visited[];
  18. Edge<,>e;
  19.  
  20. void Dijkstra(const int S)
  21. {
  22. int i,t,temp;
  23. typedef pair<int,int> PII;
  24. priority_queue<PII,vector<PII>,greater<PII> >Q;
  25. memset(Dis,0x3f,sizeof(Dis));
  26. Dis[S]=;
  27. Q.push(make_pair(,S));
  28. while(!Q.empty())
  29. {
  30. t=Q.top().second;Q.pop();
  31. if(visited[t])continue;
  32. visited[t]=true;
  33. for(i=e.start(t);i;i=e[i].next)
  34. {
  35. temp=e[i].to;
  36. if(Dis[temp]>Dis[t]+e[i].w)
  37. {
  38. Dis[temp]=Dis[t]+e[i].w;
  39. Q.push(make_pair(Dis[temp],temp));
  40. }
  41. }
  42. }
  43. return ;
  44. }
  45.  
  46. int Get(const int x,const int y,const int z)
  47. {
  48. if(x< || y>=m)return (n-)*(m-)*+;
  49. if(x>=n || y<)return ;
  50. return ((x-)*(m-)+y)<<|z;
  51. }
  52.  
  53. int main()
  54. {
  55. int i,j,x;
  56.  
  57. scanf("%d%d",&n,&m);
  58.  
  59. for(i=;i<=n;++i)
  60. {
  61. for(j=;j<m;++j)
  62. {
  63. scanf("%d",&x);
  64. e.insert(Get(i,j,),Get(i-,j,),x);
  65. e.insert(Get(i-,j,),Get(i,j,),x);
  66. }
  67. }
  68.  
  69. for(i=;i<n;++i)
  70. {
  71. for(j=;j<=m;++j)
  72. {
  73. scanf("%d",&x);
  74. e.insert(Get(i,j-,),Get(i,j,),x);
  75. e.insert(Get(i,j,),Get(i,j-,),x);
  76. }
  77. }
  78.  
  79. for(i=;i<n;++i)
  80. {
  81. for(j=;j<m;++j)
  82. {
  83. scanf("%d",&x);
  84. e.insert(Get(i,j,),Get(i,j,),x);
  85. e.insert(Get(i,j,),Get(i,j,),x);
  86. }
  87. }
  88.  
  89. Dijkstra();
  90.  
  91. printf("%d\n",Dis[(n-)*(m-)*+]);
  92.  
  93. return ;
  94. }

[bzoj1001]狼爪兔子[平面图的最小割等于其对偶图的最短路]的更多相关文章

  1. BZOJ 1001 狼抓兔子 平面图的最小割

    题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=1001 题目大意: 见链接 思路: 求最小割,平面图的最小割等价于对偶图的最短路 直接建 ...

  2. BZOJ_1001_狼抓兔子_(平面图求最小割+对偶图求最短路)

    描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1001 1001: [BeiJing2006]狼抓兔子 Time Limit: 15 Sec   ...

  3. BZOJ 1001 狼抓兔子 (网络流最小割/平面图的对偶图的最短路)

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1001 算法讨论: 1.可以用最大流做,最大流等于最小割. 2.可以把这个图转化其对偶图,然 ...

  4. Luogu2046 NOI2010 海拔 平面图、最小割、最短路

    传送门 首先一个不知道怎么证的结论:任意点的\(H\)只会是\(0\)或\(1\) 那么可以发现原题的本质就是一个最小割,左上角为\(S\),右下角为\(T\),被割开的两个部分就是\(H=0\)与\ ...

  5. BZOJ1001 BeiJing2006 狼抓兔子 【网络流-最小割】*

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

  6. bzoj 1001 原图最小割转化为对偶图最短路

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

  7. 【bzoi2006】【狼抓兔子】【最小割】

    Description Source: Beijing2006 [BJOI2006] 八中OJ上本题链接:http://www.lydsy.com/JudgeOnline/problem.php?id ...

  8. 最小割&网络流应用

    重要链接 基础部分链接 : 二分图 & 网络流初步 zzz大佬博客链接 : 网络流学习笔记 重点内容:最小割二元关系新解(lyd's ppt) 题目:网络流相关题目 lyd神犇课件链接 : 网 ...

  9. 【bzoj1001】【最短路】【对偶图】【最大流转最小割】狼抓兔子题解

    [BZOJ1001]狼抓兔子 1001: [BeiJing2006]狼抓兔子 Time Limit: 15 Sec  Memory Limit: 162 MBSubmit: 18872  Solved ...

随机推荐

  1. [App Store Connect帮助]四、添加 App 图标、App 预览和屏幕快照(3)上传 App 预览和屏幕快照

    请上传至多三个 App 预览和至多十张屏幕快照.如果您的 App 在不同设备尺寸和本地化内容间都相同,仅提供所要求的最高分辨率的屏幕快照即可. 对于 iPhone,必须提供用于 5.5 英寸设备(iP ...

  2. 微信小程序-wepy-组件模板重复渲染

    微信小程序开发,有使用wepy框架的需求.上手: 安装自己可以到官网查看,飞机票:https://tencent.github.io/wepy/document.html#/ 具体开发模式和Vue开发 ...

  3. PWA技术深入学习

    PWA技术 PWA全称Progressive Web App,即渐进式WEB应用. 解决的问题 实现离线缓存功能,即使用户手机没有网络,依然可以使用一些离线功能 可以添加至主屏幕,点击主屏幕图标可以实 ...

  4. Java中的锁机制,你真的了解吗?

    学到锁说明你已经学过多线程了,只有在多线程并发的情况下才会涉及到锁,相信大家用的最多的要数synchronized了,因为这个也是最简单的,直接加在方法上就可以使一个方法同步.那么除了synchron ...

  5. 基于ASP.Net Core开发一套通用后台框架记录-(数据库设计(权限模块))

    写在前面 本系列博客是本人在学习的过程中搭建学习的记录,如果对你有所帮助那再好不过.如果您有发现错误,请告知我,我会第一时间修改. 前期我不会公开源码,我想是一点点敲代码,不然复制.粘贴那就没意思了. ...

  6. [Qt Creator 快速入门] 第0篇 开始学习Qt 与Qt Creator

    Qt官方信息 Qt官网:http://qt.digia.com/ Qt开源官网:http://qt-project.org/ Qt最新版本下载:http://qt-project.org/downlo ...

  7. c# 线程浅析(代理 、Invoke、Lock)

    前言:本来想根据自己的经验总结一下c#线程相关的知识点, 写之前看了一些其他人的博客,发现自己也就掌握了不到三分之一....希望通过这次的博客将自己的知识点补充一下,写出更直白的博客和初学者分享. 这 ...

  8. Code Kata:大整数四则运算—除法 javascript实现

    除法不可用手工算法来计算,其基本思想是反复做减法,看从被除数里面最多能减去多少个除数,商就是多少. 除法函数: 如果前者绝对值小于后者直接返回零 做减法时,不需要一个一个减,可以以除数*10^n为基数 ...

  9. POJ_1083_(思维)

    Moving Tables Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 31511   Accepted: 10528 D ...

  10. Jmeter在Windows上分布式压测遇到的坑

    1.五星坑:远程启动测试,响应数据为空. controller运行jmeter脚本后,GUI无性能数据返回. agent的jmeter server显示连接后立即结束.看似执行实则响应数据为空. 出现 ...