[BZOJ1163&1339]Mafia
[Baltic2008]Mafia
题目
匪徒准备从一个车站转移毒品到另一个车站,警方准备进行布控. 对于每个车站进行布控都需要一定的代价,现在警方希望使用最小的代价控制一些车站,使得去掉这些车站后,匪徒无法从原定的初始点到达目标点
INPUT
第一行输入N,M代表车站的总个数,及有多少条双向边连接它们. 2<=n<=200 , 1 <=m<=20000. 第二行给出两个数a,b,代表匪徒的出发点及目标点.1<=a,b<=N,a<>b. 再下来有N行,给出对第i个车站进行布控所需要的Money,其不超过10 000 000 再下来M行,用于描述图的结构.
OUTPUT
最少需要多少Money
SAMPLE
INPUT
5 6
5 3
2
4
8
3
10
1 5
1 2
2 4
4 5
2 3
3 4OUTPUT
5
解题报告
本命题QWQ
我的Mafia啊QWQ
其实就是个裸的最小割QWQ
#include <iostream>
#include <cstring>
#include <cstdio>
#include <queue>
using namespace std;
inline int read(){
int sum();char ch(getchar());
for(;ch<''||ch>'';ch=getchar());
for(;ch>=''&&ch<='';sum=sum*+(ch^),ch=getchar());
return sum;
}
struct edge{int e,w;edge *n,*rev;}*pre[];
inline void insert(int s,int e,int w){
edge *tp1(new edge),*tp2(new edge);
tp1->e=e;tp1->w=w;tp1->rev=tp2;tp1->n=pre[s];pre[s]=tp1;
tp2->e=s;tp2->w=;tp2->rev=tp1;tp2->n=pre[e];pre[e]=tp2;
}
const int inf(0x3f3f3f3f);
int n,m,a,b,S,T,ans,dis[];
queue<int>q;
inline bool bfs(){
memset(dis,,sizeof(dis));while(!q.empty())q.pop();dis[S]=;q.push(S);
while(!q.empty()){
int k(q.front());q.pop();
for(edge *i=pre[k];i;i=i->n)
if(i->w&&!dis[i->e]){
dis[i->e]=dis[k]+;
if(i->e==T)return true;
q.push(i->e);
}
}
return false;
}
inline int dfs(int u,int f){
if(u==T||!f)return f;
int ret();
for(edge *i=pre[u];i;i=i->n)
if(i->w&&dis[i->e]==dis[u]+){
int tmp(dfs(i->e,min(i->w,f-ret)));
i->w-=tmp;i->rev->w+=tmp;ret+=tmp;
if(ret==f)break;
}
return ret;
}
int main(){
n=read(),m=read(),a=read(),b=read();S=,T=(n<<)+;
insert(S,a,inf);insert(b+n,T,inf);
for(int i=;i<=n;++i){int x(read());insert(i,i+n,x);}
for(int i=;i<=m;++i){
int x(read()),y(read());
insert(x+n,y,inf);insert(y+n,x,inf);
}
while(bfs())ans+=dfs(S,inf);
printf("%d",ans);
}
[BZOJ1163&1339]Mafia的更多相关文章
- [BZOJ1163][BZOJ1339][Baltic2008]Mafia
[BZOJ1163][BZOJ1339][Baltic2008]Mafia 试题描述 匪徒准备从一个车站转移毒品到另一个车站,警方准备进行布控. 对于每个车站进行布控都需要一定的代价,现在警方希望使用 ...
- 1339 / 1163: [Baltic2008]Mafia
1163: [Baltic2008]Mafia Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 96 Solved: 60[Submit][Statu ...
- BZOJ1163&BZOJ1339[Baltic2008]Mafia——最小割
题目描述 匪徒准备从一个车站转移毒品到另一个车站,警方准备进行布控. 对于每个车站进行布控都需要一定的代价,现在警 方希望使用最小的代价控制一些车站,使得去掉这些车站后,匪徒无法从原定的初始点到达目标 ...
- 【bzoj1163/bzoj1339】[Baltic2008]Mafia 网络流最小割
题目描述 匪徒准备从一个车站转移毒品到另一个车站,警方准备进行布控. 对于每个车站进行布控都需要一定的代价,现在警方希望使用最小的代价控制一些车站,使得去掉这些车站后,匪徒无法从原定的初始点到达目标点 ...
- ural 1339. Babies
1339. Babies Time limit: 1.0 secondMemory limit: 64 MB O tempora! O mores! Present-day babies progre ...
- csu oj 1339: 最后一滴血
http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1339 1339: 最后一滴血 Time Limit: 1 Sec Memory Limit: 1 ...
- UVa 1339,紫书P73,词频
题目链接:https://uva.onlinejudge.org/external/13/1339.pdf 紫书P73 解题报告: #include <stdio.h> #include ...
- UVa 1339 Ancient Cipher --- 水题
UVa 1339 题目大意:给定两个长度相同且不超过100个字符的字符串,判断能否把其中一个字符串重排后,然后对26个字母一一做一个映射,使得两个字符串相同 解题思路:字母可以重排,那么次序便不重要, ...
- Codeforces Gym 100733H Designation in the Mafia flyod
Designation in the MafiaTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/c ...
随机推荐
- 浙江省CIO协会钱塘江论坛近日在网易云创沙龙宣布成立
本文来自网易云社区 9月19日,由网易云与浙江省首席信息官协会共同主办的“网易云创CIO沙龙”在杭州举行,本次活动以“瞩目钱塘,赋能企业数字化创新”为主题,网易云企业服务部总经理岳峥辉,浙江省首席信息 ...
- centos 7 配置php
对于我们的目的而言,安装 Apache 只需要在 CentOS 命令终端敲入这条命令就行了: $ sudo yum install httpd $ sudo systemctl enable http ...
- linux学习之路3 文件系统结构
一些有用的定义: linux文件系统为一个倒转的单根树状结构 文件系统的根为"/" linux系统文件严格区分大小写,而windows系统不区分大小写 路径使用"/&qu ...
- js实现左右点击图片层叠滚动特效
需要加载js有 <script type="text/javascript" src="js/jquery-1.7.2.min.js"></s ...
- 记一个java.lang.NoClassDefFoundError的问题
如题,即找不到对应class,出现这个问题,很可能是文件路径配置错误,也可能是jar包丢失. 比如我今天遇到的问题,就是IDEA没有把mybatis的jar包复制到编译目录造成的.
- CF868B Race Against Time
思路: 模拟.少写了一个等号FST了,好气啊. 实现: #include <bits/stdc++.h> using namespace std; int main() { int h, ...
- 2017-12-01HTML块及引用
HTML块1.HTML块元素 快元素在显示时,通常会以新行开始 例如:<h1>.<p>.<ul>2.HTML内联元素 内联元素通常不会以新行开始 例如:<b& ...
- Javascript DOM 编程艺术(第二版)读书笔记——DOM基础
1.DOM是什么 D=document(文档) O=object(对象) M=Model(模型) DOM又称节点树 一些术语: parent(父) child(子) sibling(兄弟) ...
- opencv函数之cv.InRange函数
2018-03-0421:22:46 (1)cv.InRange函数 void cvInRange(//提取图像中在阈值中间的部分 const CvArr* src,//目标图像const CvArr ...
- Android 你知道界面布局嵌套多少层之后会Crash吗
我们先放一张Hierarchy Viewer的图:(模拟器Android4.4) 看到数字6了吗,那个RelativeLayout是MainActivity的根ViewGroup, 而在Relativ ...