【平面图】【最小割】【最短路】【Heap-Dijkstra】bzoj1001 [BeiJing2006]狼抓兔子
http://wenku.baidu.com/view/8f1fde586edb6f1aff001f7d.html
#include<cstdio>
#include<queue>
#include<cstring>
using namespace std;
typedef long long ll;
#define N 1001
int n,m,S,T,nn;
struct Point{int u,d;};
bool operator < (Point a,Point b){return a.d>b.d;}
int dis[N*N*2+2];
bool vis[N*N*2+2];
priority_queue<Point>q;
int en,v[N*N*3*2],next[N*N*3*2],w[N*N*3*2],first[N*N*2+2];
void AddEdge(int U,int V,int W)
{
v[++en]=V;
w[en]=W;
next[en]=first[U];
first[U]=en;
}
void dijkstra()
{
memset(dis+1,0x7f,sizeof(int)*(nn));
dis[S]=0; q.push((Point){S,0});
while(!q.empty())
{
int U=q.top().u; q.pop();
if(!vis[U])
{
vis[U]=1;
for(int i=first[U];i;i=next[i])
if((ll)dis[v[i]]>(ll)dis[U]+(ll)w[i])
{
dis[v[i]]=dis[U]+w[i];
q.push((Point){v[i],dis[v[i]]});
}
}
}
}
int main()
{
int x;
scanf("%d%d",&n,&m); nn=(n-1)*(m-1)*2+2; S=nn-1; T=nn;
for(int j=1;j<m;++j)
{
scanf("%d",&x);
AddEdge(S,j,x);
AddEdge(j,S,x);
}
for(int i=2;i<n;++i)
for(int j=1;j<m;++j)
{
scanf("%d",&x);
AddEdge(((i<<1)-3)*(m-1)+j,((i<<1)-2)*(m-1)+j,x);
AddEdge(((i<<1)-2)*(m-1)+j,((i<<1)-3)*(m-1)+j,x);
}
for(int j=1;j<m;++j)
{
scanf("%d",&x);
AddEdge(((n<<1)-3)*(m-1)+j,T,x);
AddEdge(T,((n<<1)-3)*(m-1)+j,x);
}
for(int i=1;i<n;++i)
{
scanf("%d",&x);
AddEdge(T,((i<<1)-1)*(m-1)+1,x);
AddEdge(((i<<1)-1)*(m-1)+1,T,x);
for(int j=2;j<m;++j)
{
scanf("%d",&x);
AddEdge(((i<<1)-2)*(m-1)+j-1,((i<<1)-1)*(m-1)+j,x);
AddEdge(((i<<1)-1)*(m-1)+j,((i<<1)-2)*(m-1)+j-1,x);
}
scanf("%d",&x);
AddEdge(((i<<1)-1)*(m-1),S,x);
AddEdge(S,((i<<1)-1)*(m-1),x);
}
for(int i=1;i<n;++i)
for(int j=1;j<m;++j)
{
scanf("%d",&x);
AddEdge(((i<<1)-2)*(m-1)+j,((i<<1)-1)*(m-1)+j,x);
AddEdge(((i<<1)-1)*(m-1)+j,((i<<1)-2)*(m-1)+j,x);
}
dijkstra();
printf("%d\n",dis[T]);
return 0;
}
【平面图】【最小割】【最短路】【Heap-Dijkstra】bzoj1001 [BeiJing2006]狼抓兔子的更多相关文章
- BZOJ1001 BeiJing2006 狼抓兔子 【网络流-最小割】*
BZOJ1001 BeiJing2006 狼抓兔子 Description 现在小朋友们最喜欢的"喜羊羊与灰太狼",话说灰太狼抓羊不到,但抓兔子还是比较在行的,而且现在的兔子还比较 ...
- [BZOJ1001][BeiJing2006]狼抓兔子(最小割转最短路|平面图转对偶图)
1001: [BeiJing2006]狼抓兔子 Time Limit: 15 Sec Memory Limit: 162 MBSubmit: 31805 Solved: 8494[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 现在小朋友们最喜欢的"喜羊羊与灰太狼 ...
- BZOJ1001: [BeiJing2006]狼抓兔子(优化的dinic或转化对偶图求最短路)
1001: [BeiJing2006]狼抓兔子 Time Limit: 15 Sec Memory Limit: 162 MBSubmit: 30078 Solved: 7908[Submit][ ...
- BZOJ1001: [BeiJing2006]狼抓兔子【最短路+对偶图】
题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1001 1001: [BeiJing2006]狼抓兔子 Time Limit: 15 Se ...
- [bzoj1001][BeiJing2006]狼抓兔子_网络流_最小割转对偶图
狼抓兔子 bzoj-1001 BeiJing2006 Description 现在小朋友们最喜欢的"喜羊羊与灰太狼",话说灰太狼抓羊不到,但抓兔子还是比较在行的, 而且现在的兔子还 ...
- BZOJ1001 [BeiJing2006]狼抓兔子 最小割 对偶图 最短路
原文链接http://www.cnblogs.com/zhouzhendong/p/8686871.html 题目传送门 - BZOJ1001 题意 长成上面那样的网格图求最小割. $n,m\leq ...
- BZOJ1001[BeiJing2006]狼抓兔子最小割網絡流
Description 现在小朋友们最喜欢的"喜羊羊与灰太狼",话说灰太狼抓羊不到,但抓兔子还是比较在行的, 而且现在的兔子还比较笨,它们只有两个窝,现在你做为狼王,面对下面这样一 ...
- BZOJ1001[BeiJing2006]狼抓兔子——最小割
题目描述 现在小朋友们最喜欢的"喜羊羊与灰太狼",话说灰太狼抓羊不到,但抓兔子还是比较在行的, 而且现在的兔子还比较笨,它们只有两个窝,现在你做为狼王,面对下面这样一个网格的地形: ...
随机推荐
- SICAU-OJ: A|B
A|B 题意: 给出一个整数n(1<=n<=10100),求Σd(d满足d可以整除n),同时保证不存在x^2有x^2可以整除n. 另外,n的质因子满足小于等于1000. 题解: 这题是我第 ...
- Array.slice(start,end)的用法
start在start>=0,假设start=0,表示从数组的第一个元素开始截取,start=2,表示从数组的第二个元素开始截取,依次类推. 在start<0时,start=-1表示从倒数 ...
- mysql的对象
mysql 常见的数据对象有哪些: DataBase/Schema Table Index View/Trigger/Function/Procedure 多Database用途: 业务的隔离 ...
- Fragment里使用 PhoneGap 的 CordovaWebView
首先说明一下为什么要使用 CordovaWebView 而不直接使用 WebView 呢?由于 Android4.4 版本之后对 WebView 做了很大的改变,具体参考 这篇文章:理解WebKit和 ...
- Dokuwiki 二次开发记录
Dokuwiki 二次开发记录 [转]http://www.syyong.com/other/Dokuwiki-Secondary-Development-Record.html DokuWiki 是 ...
- 【uva11732-"strcmp()" Anyone?】Trie
http://acm.hust.edu.cn/vjudge/problem/28438 题意:给定n个字符串,问用strcmp函数比较这些字符串共用多少次比较. 题解: 插入一个‘#’作为字符串的结束 ...
- POJ1286 Necklace of Beads
Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 8263 Accepted: 3452 Description Beads ...
- 汕头市队赛 SRM16 T2
描述 猫和老鼠,看过吧?猫来了,老鼠要躲进洞里.在一条数轴上,一共有n个洞,位置分别在xi,能容纳vi只老鼠.一共有m只老鼠位置分别在Xi,要躲进洞里,问所有老鼠跑进洞里的距离总和最小是多少. 输入格 ...
- [HNOI2015]部分题解
Day1 T2 [HNOI2015]接水果 风见幽香非常喜欢玩一个叫做 osu!的游戏,其中她最喜欢玩的模式就是接水果.由于她已经DT FC 了The big black, 她觉得这个游戏太简单了, ...
- linux内核源码中两个重要的宏
转载:http://www.cnblogs.com/skywang12345/p/3562146.html 倘若你查看过Linux Kernel的源码,那么你对 offsetof 和 containe ...