[HDU] 3491 Thieves
1.拆点(把一个点拆成2个,边流量为警(和谐)察数,然后每条边连的时候用其中一个点的第二个点去连另一个点的第一个点,边流量为无穷大,其他边都为0,再注意下源点和汇点就可以了)
2.最大流找最小割
![](/assets/blank.gif)
![](/assets/blank.gif)
1 #include<stdio.h> 2 #include<stdlib.h> 3 #define MAX 100000000 4 int n,m,s,h,c[205][205],p[205]; 5 int find() 6 { 7 int x,i,inque[205],que[205],head=0,tail=0; 8 memset(inque,0,sizeof(inque)); 9 memset(que,0,sizeof(que));10 que[head]=s;inque[s]=1;11 while(head<=tail)12 {13 x=que[head++];14 for(i=1;i<=2*n;i++)15 if(!inque[i]&&c[x][i]){inque[i]=1;que[++tail]=i;p[i]=x;if(i==h)return 1;}16 }17 return 0;18 }19 int maxflow()20 {21 int i,j,min,flow=0;22 memset(p,0,sizeof(p));23 while(find(i))24 {25 min=MAX;26 j=h;i=p[j];27 while(j!=s)28 {29 if(min>c[i][j])min=c[i][j];30 j=i;i=p[j];31 }32 j=h;i=p[j];33 while(j!=s)34 {35 c[i][j]-=min;36 c[j][i]+=min;37 j=i;i=p[j];38 }39 flow+=min;40 memset(p,0,sizeof(p));41 }42 return flow;43 }44 int main()45 {46 int i,x,y,ans,t;47 scanf("%d",&t);48 while(t>0)49 {50 t--;51 memset(c,0,sizeof(c));52 scanf("%d%d%d%d",&n,&m,&s,&h);53 for(i=1;i<=n;i++)54 scanf("%d",&c[i][i+n]);55 c[s][s+n]=MAX;56 c[h][h+n]=0;57 for(i=1;i<=m;i++)58 {59 scanf("%d%d",&x,&y);60 c[x+n][y]=c[y+n][x]=MAX;61 }62 ans=maxflow();63 printf("%d\n",ans);64 }65 return 0;66 }
转载于:https://www.cnblogs.com/USTC-ACM/archive/2012/03/21/2410524.html
[HDU] 3491 Thieves相关推荐
- 【转载】图论 500题——主要为hdu/poj/zoj
转自--http://blog.csdn.net/qwe20060514/article/details/8112550 =============================以下是最小生成树+并 ...
- 【HDOJ图论题集】【转】
1 =============================以下是最小生成树+并查集====================================== 2 [HDU] 3 1213 How ...
- 一系列图论问题[转]
=============================以下是最小生成树+并查集====================================== [HDU] 1213 How Many ...
- 图论练习题(存起来练)
=============================以下是最小生成树+并查集====================================== [HDU] 1213 How Man ...
- ACM比赛经验、刷题记录及模板库总结(更新中)
前言 本文所提及的部分题目代码,可以在我的Github上找到 第一部分 经验分享及感受 第二部分 刷题记录 一.基础算法&程序语言 //strlen()函数的复杂度是O(n)要小心 //截取字 ...
- 网络流题集【夏天的风】
[HDU] 1532Drainage Ditches(基础) [最大流] 3549 Flow Problem(基础) [最大流] 3572 Task Schedule [最大流]任务 ...
- HDU 5643 King's Game 打表
King's Game 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5643 Description In order to remember hi ...
- HDU——1106排序(istringstream的使用、STLvector练习)
排序 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submiss ...
- hdu 5438 Ponds 拓扑排序
Ponds Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/contests/contest_showproblem ...
最新文章
- PHP 5.3 中不建议使用的(部分)函数列表
- 放大缩小html文字,jquery放大缩小文字
- 0基础入门,如何快速上手Python?
- AAAI 2020 | XIV-ReID:基于X模态的跨模态行人重识别
- epoll nio区别_【总结】两种 NIO 实现:Selector 与 Epoll
- sign check fail: check Sign and Data Fail!-错误处理
- matlab从矩阵中取rp开头文件,matlab trainrp
- 解决ssh正常登录sftp不能登录的问题
- Qt工作笔记-html做界面时,QFileInfo小技巧,获取前端页面
- Android 系统性能优化(21)---App启动原理分析及启动时间优化
- 【PHP学习】—PHP文件嵌套HTML(四)
- WMI-Win32_BIOS 参数说明
- excel换行按什么键_电脑黑屏按什么键恢复 电脑黑屏的原因和恢复方法
- nginx、tomcat负载均衡
- 计算机学生英语面试自我介绍ppt,大学生英语自我介绍ppt.doc
- C语言的文件读写函数
- PS零基础自学笔记:常见操作方法记录(去水印、抠图、调色调)
- 爬虫抓取百度文库中的文献
- java程序员自荐信_【程序员英文的自荐信】程序员优秀员工自荐信
- 光模块SFP基础接口标准入门
热门文章
- php验证返回值,php接口返回数据 用echo 还是return?
- open cv python_open cv——图像阈值处理(python文档)
- wxpython下载很慢_FAQ:在 Windows 使用 Python
- python控制gpio产生固定数量的脉冲_STM32L151用dma控制GPIO口发出指定的脉冲个数的疑惑!...
- python open写入_Python IO操作文件读取和写入、open函数的mode参数、buffering,文件缓冲区...
- 百度app不支持popstate_这一次谷歌很强硬,从现在起你的 App 再不支持,将拒绝上架!...
- ib_logfile和mysql_bin_mysql的innodb中事务日志ib_logfile
- mpvue微信小程序动画_在 mpvue 使用 echarts 小程序组件
- Linux系统文件夹权限475,linux系统中文件的特殊权限
- linux nginx安装php5.5,linux下搭建LNMP(linux+nginx+mysql+php)环境之mysql5.5安装