bzoj 1001
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
HINT
2015.4.16新加数据一组,可能会卡掉从前可以过的程序。
Source
最短路加对偶图。这道题本质上是求一个最小割,我们想一下,最小割,就是切断一些边,现在我们把边横起来,切断原先的边,把那些空档当成点然后再设立一个源点和汇点,就好了,源点和汇点分别连接图的两条边。
#include<iostream>
#include<string.h>
#include<vector>
#include<queue>
#include<cstdio>
#define mp make_pair
using namespace std;
const int N=2000100;
int n,m;
int d[N],used[N];
typedef pair<int,int> PII;
vector<PII>graph[N];
priority_queue<PII,vector<PII>,greater<PII> >q;
void add(int u,int v,int l)
{
graph[u].push_back(mp(v,l));
graph[v].push_back(mp(u,l));
}
void dijiestra()
{
memset(used,0,sizeof(used));
for(int i=1;i<=2*n*m+1;i++) d[i]=1<<29;
q.push(PII(0,0));
while(!q.empty())
{
PII x=q.top();q.pop();
int u=x.second;
if(used[u]) continue;
used[u]=1;
for(int i=0;i<graph[u].size();i++)
{
x=graph[u][i];
int v=x.first,val=x.second;
if(d[v]>d[u]+val){d[v]=d[u]+val;q.push(PII(d[v],v));}
}
}
cout<<d[2*n*m+1]<<endl;
}
int main()
{
cin>>n>>m;
int tot=1<<29;
int u=0,v=0,l=0,k=0;
for(int i=1;i<m;i++)
{
scanf("%d",&l);
tot=min(tot,l);
u+=2;
add(u,0,l);
}
k=u;
for(int i=2;i<n;i++)
{
if(i==n-1) k=u;
for(int j=1;j<m;j++)
{
scanf("%d",&l);
tot=min(tot,l);
u+=2;
add(u,u-2*(m-1)-1,l);
}
}
k--;
for(int i=1;i<m;i++)
{
scanf("%d",&l);
tot=min(tot,l);
k+=2;
add(k,2*n*m+1,l);
}
u=1;
for(int i=1;i<n;i++)
{
for(int j=1;j<=m;j++)
{
scanf("%d",&l);
tot=min(tot,l);
if(j==1)
{
add(u,2*n*m+1,l);
}
else if(j==m)
{
add(u+1,0,l);
u+=2;
}
else
{
u+=2;
add(u,u-1,l);
}
}
}
u=0;
for(int i=1;i<n;i++)
for(int j=1;j<m;j++)
{
scanf("%d",&l);
tot=min(tot,l);
u+=2;
add(u,u-1,l);
}
if(n==1||m==1)
{
cout<<tot<<endl;
return 0;
}
dijiestra();
return 0;
}
bzoj 1001的更多相关文章
- BZOJ 1001 [BeiJing2006] 狼抓兔子(平面图最大流)
题目大意 现在小朋友们最喜欢的"喜羊羊与灰太狼",话说灰太狼抓羊不到,但抓兔子还是比较在行的.而且现在的兔子还比较笨,它们只有两个窝,现在你做为狼王,面对下面这样一个网格的地形: ...
- s - t 平面图最大流 (附例题 bzoj 1001)
以下均移自 周冬的<两极相通-浅析最大最小定理在信息学竞赛中的应用> 平面图性质 1.(欧拉公式)如果一个连通的平面图有n个点,m条边和f个面,那么f=m-n+2 2.每个平面图G都有一个 ...
- BZOJ 1001 狼抓兔子 (网络流最小割/平面图的对偶图的最短路)
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1001 算法讨论: 1.可以用最大流做,最大流等于最小割. 2.可以把这个图转化其对偶图,然 ...
- BZOJ 1001: [BeiJing2006]狼抓兔子
1001: [BeiJing2006]狼抓兔子 Time Limit: 15 Sec Memory Limit: 162 MBSubmit: 20029 Solved: 4957[Submit][ ...
- BZOJ 1001 题解
1001: [BeiJing2006]狼抓兔子 Time Limit: 15 Sec Memory Limit: 162 MBSubmit: 18876 Solved: 4649[Submit][ ...
- BZOJ 1001 & SPFA
1001: [BeiJing2006]狼抓兔子 Time Limit: 15 Sec Memory Limit: 162 MB Description 现在小朋友们最喜欢的"喜羊羊与灰太狼 ...
- BZOJ 1001: [BeiJing2006]狼抓兔子 最小割
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1001 现在小朋友们最喜欢的"喜羊羊与灰太狼",话说灰太狼抓羊不到,但抓 ...
- 平面最小割—BZOJ 1001
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1001 很有意思的题目,本来想直接上网络流,但是发现点太多,边太多2333. 直接网络流无法 ...
- bzoj 1001: [BeiJing2006]狼抓兔子 平面图最小割
平面图跑最大流 可以转换为其对偶图跑最短路 一个环对应一个割 找到最小环(即最短路)极为所求,注意辅助边的建立 加入读入优化 不过时间还是一般 估计是dij写的不好 大神勿喷~~~ /*** ...
- BZOJ 1001 狼捉兔子
Description 现在小朋友们最喜欢的"喜羊羊与灰太狼",话说灰太狼抓羊不到,但抓兔子还是比较在行的,而且现在的兔子还比较笨,它们只有两个窝,现在你做为狼王,面对下面这样一个 ...
随机推荐
- VR可以用做除游戏外的哪些地方
虚拟现实可以将你传送到平时不敢去的地方, 例如喜马拉雅山顶. 也可以将你带到人类几乎不可能到达的地方, 例如世界上最深处, 马里亚纳海沟.马里亚纳海沟最深处的水压可是达到惊人的110Mpa, 这个高压 ...
- nginx作为负载均衡服务器——测试
i. 需求 nginx作为负载均衡服务器,用户请求先到达nginx,再由nginx根据负载配置将请求转发至 tomcat服务器. nginx负载均衡服务器:192.168.101.3 tomcat1服 ...
- 12个JQuery小贴士
返回顶部 使用JQuery的 animate 和 scrollTop 方法可以创建简单地返回顶部的动画: // Back to top $('a.top').click(function (e) { ...
- vim一些常用的快捷键
快速注释: Ctrl+v I // esc 打开文件 gf ctrl+o
- Splay整理
伸展树(Splay Tree),也叫分裂树,是一种二叉排序树,它能在O(log n)内完成插入.查找和删除操作.(来自百科) 伸展树的操作主要是
- ASP.NET 中执行 URL 重写
具体实现步骤(其中的一种实现方法): 一.下载相关的DLL(ActionlessForm.dll和UrlRewriter.dll) http://download.csdn.net/detail/yi ...
- Winfrom动态创建控件
FlowLayoutPanel flowLayoutPanel1 = new FlowLayoutPanel();for (int i = 0; i < 9; i++){ Button b ...
- Linux shell特性
一:别名 .alias 查看本用户下的alias配置 --自定义别名:alias 别名='shell命令' (注意是单引号) --cat $HOME/.bashrc 在这个用户下配置着alias名的配 ...
- jquery选择器空格与大于号、加号与波浪号的区别
空格:$('parent childchild')表示获取parent下的所有的childchild节点,所有的子孙. 大于号:$('parent > child')表示获取parent下的所有 ...
- UDP的坏处
众所周知,UDP是一个面向无连接的协议.通信时不可靠的.这就会出现一些问题 (1)数据报丢失 因为是无连接,的所以可以用recvfrom和sendto来接收和发送消息,如果socket是阻塞的,那么当 ...