poj 1149 : PIGS (网络流,EK模板)
一个晚上的结果,网络流的建图就是不好玩呀,以后要多练,主要是建好图~~~
代码如下:
#include<iostream>
#define min(a,b) ((a)<(b)?(a):(b))
using namespace std;
const int nMax=200;
const int mMax=1005;
const int inf=99999999;
int n,m,ans;
int map[nMax][nMax];
int que[nMax],pre[nMax];
bool vis[nMax];bool bfs()
{int head=0,tail=1;memset(vis,0,sizeof(vis));que[0]=0;vis[0]=true;while(tail>head){int u=que[head++];for(int i=0;i<=n;i++)if(!vis[i] && map[u][i]){pre[i]=u;if(i==n) return true;que[tail++]=i;vis[i]=true;}}return false;
}void end()
{int i,sum=inf;for(i=n;i!=0;i=pre[i])sum=min(sum,map[pre[i]][i]);for(i=n;i!=0;i=pre[i]){map[pre[i]][i]-=sum;map[i][pre[i]]+=sum;}ans+=sum;
}int main()
{int i,k,cnt,pigNum[mMax];cin>>m>>n;for(i=1;i<=m;i++)cin>>pigNum[i];for(i=1;i<=n;i++){cin>>cnt;while(cnt--){cin>>k;if(pre[k]==0)map[0][i]+=pigNum[k];elsemap[pre[k]][i]=inf;pre[k]=i;}cin>>map[i][n+1];}n++;ans=0;while(bfs()) end();cout<<ans<<endl;return 0;
}
poj 1149 : PIGS (网络流,EK模板)相关推荐
- POJ 1149 PIGS 最大流建模
点击打开链接 PIGS Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 14204 Accepted: 6305 Desc ...
- poj 1149 PIGS【最大流】
建图:s向所有猪圈的第一个顾客连流量为这个猪圈里住的数量,然后对于之后每个来这个猪圈的顾客,由他前一个顾客向他连边权为无穷的边,然后每个顾客向t连流量为这个顾客购买上限的边.然后跑最大流 #inclu ...
- POJ 1149 PIGS
POJ_1149 这个题目搞得我比较纠结,具体的思想还是看看这篇博客吧. http://imlazy.ycool.com/post.2059102.html #include<stdio.h&g ...
- 网络流-EK求最大流
网络流-EK求最大流 2021.8.17 网络流最大流解决什么问题? 网络流(network-flows)是一种类比水流的解决问题方法(摘自百度百科),最大流是求源点到汇点最大流量的方法. 算法原理 ...
- Drainage Ditches - poj 1273(网络流模板)
题意:1是源点,m是汇点,求出来最大流量,没什么好说的就是练习最大流的模板题 ************************************************************* ...
- POJ 1149 最大流建图 PIGS
题意: 给出猪圈个数 m 和买家人数 n 然后给出m个猪圈的猪的头数.. 接下来 n 行.. 给出mm a1 a2 .. a(mm) k 例如 2 1 5 3 表示第i+1个用户 有mm(2) 个猪圈 ...
- 经典网络流题目模板(P3376 + P2756 + P3381 : 最大流 + 二分图匹配 + 最小费用最大流)...
题目来源 P3376 [模板]网络最大流 P2756 飞行员配对方案问题 P3381 [模板]最小费用最大流 最大流 最大流问题是网络流的经典类型之一,用处广泛,个人认为网络流问题最具特点的操作就是建 ...
- POJ:3461-Oulipo(KMP模板题)
原题传送:http://poj.org/problem?id=3461 Oulipo Time Limit: 1000MS Memory Limit: 65536K Description The F ...
- usaco Drainage Ditches(网络流dinic模板)
模板题 /* ID:jinbo wu TASK:ditch LANG:C++ */#include<bits/stdc++.h> using namespace std; #define ...
- 网络流 (EK Dinic)
Edmonds-Karp BFS找增广路,找到增广路,更新残余网络. // 临接矩阵 // pre记录前驱节点 int G[maxn][maxn], pre[maxn], vis[maxn], n, ...
最新文章
- STM32的SPI驱动代码
- GD32F207移植FreeRtos,程序运行vTaskStartScheduler后进入HardFault_Handler死循环解决方法
- Cloud for Customer的前端UI5是如何启动的
- Java和pathion_Spring配置中的classpath:与classpath*:的区别
- Linux下的设备管理、磁盘分区及分区类型的修改
- 从还珠格格到街头霸王!80后的怀旧神器 三星GalaxyFold另类体验
- Ubuntu20.04安装eBPF BCC
- 在PHP中开启CURL扩展,使其支持curl()函数
- 友盟iOS微信登陆没有回调的原因
- 【通达信指标公式】多空分时幅图指标,股票期货T+0经典分时指标
- 深度学习 机器学习 数据集资源汇总
- 亚马逊数据线办理CE认证检测项目有哪些?如何办理?
- RTKLIB专题学习(八)—卫星星历和钟差
- Chapter 6 (Orthogonality and Least Squares): Least-Squares problems (最小二乘问题)
- 服务器代维护 云桥,Citrix
- 电阻参数_电阻器的主要技术参数、分类和选用
- 电路 常见的数据线接口
- 2018的锅让2019来悲
- python实现web可视化_数据可视化怎么做【python数据可视化的效果如何在web页面中展示】...
- 华为擎云G540笔记本怎么U盘重装电脑系统详细教学