BZOJ 1391 [CEOI] Order - 网络流 最大流
Solution
非常简单的建边!!!
但是刚开始的代码不够体现社会主义的优越性, 于是我 ....

惨痛教训啊。。。 终于到了今天才能够体现社会主义优越性。。。
Code
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<queue>
#define rd read()
#define R register
#define rep(i,a,b) for(register int i = (a); i <= (b); ++i)
#define per(i,a,b) for(register int i = (a); i >= (b); --i)
#define ll long long
using namespace std; const int N = 1e6 + 1e5, M = 4e3;
const int inf = ~0U >> ;
int n, m, head[M], tot, cur[M];
int dep[M], S, T;
int sum, ans; queue<int> q; struct edge {
int nxt, to, val;
}e[N * ]; inline int read() {
int X = , p = ; char c = getchar();
for(; c > '' || c < ''; c = getchar()) if(c == '-') p = -;
for(; c >= '' && c <= ''; c = getchar()) X = X * + c - '';
return X * p;
} inline void added(int u, int v, int val) {
e[++tot].to = v;
e[tot].val = val;
e[tot].nxt = head[u];
head[u] = tot;
} inline void add(int u, int v, int val) {
added(u, v, val); added(v, u, );
} int ch(int x) {
return ((x + ) ^ ) - ;
} int bfs() {
rep(i, S, T) dep[i] = ;
dep[S] = ;
q.push(S);
for(R int u; !q.empty();) {
u = q.front(); q.pop();
for(R int i = head[u]; i; i = e[i].nxt) {
R int nt = e[i].to;
if(!dep[nt] && e[i].val) {
dep[nt] = dep[u] + ;
q.push(nt);
}
}
}
return dep[T];
} inline int minn(int A, int B) {
return A > B ? B : A;
} int dfs(R int u, R int flow) {
if(u == T || !flow) return flow;
if(!flow) return ;
R int re = ;
for(R int i = cur[u]; i && flow; i = e[i].nxt, cur[u] = i) {
R int nt = e[i].to;
if(dep[nt] != dep[u] + || !e[i].val) continue;
R int tmp = dfs(nt, minn(flow, e[i].val));
if(!tmp) continue;
re += tmp;
flow -= tmp;
e[i].val -= tmp;
e[i ^ ].val += tmp;
if(!flow) return re;
}
return re;
} int main()
{
n = rd; m = rd;
T = n + m + ;
tot = ;
rep(i, , n) {
R int cost = rd;
add(S, i, cost);
sum += cost;
int cnt = rd;
rep(j, , cnt) {
int x = rd, v = rd;
add(i, n + x, v);
}
}
rep(i, , m) {
R int x = rd;
add(i + n, T, x);
}
for(; bfs();) {
memcpy(cur, head, sizeof(head));
ans += dfs(S, inf);
}
printf("%d\n", sum - ans);
}
BZOJ 1391 [CEOI] Order - 网络流 最大流的更多相关文章
- Bzoj 1391: [Ceoi2008]order 网络流,最大权闭合图
1391: [Ceoi2008]order Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 1105 Solved: 331[Submit][Statu ...
- BZOJ 1391 [Ceoi2008]order
1391: [Ceoi2008]order Description 有N个工作,M种机器,每种机器你可以租或者买过来. 每个工作包括若干道工序,每道工序需要某种机器来完成,你可以通过购买或租用机器来完 ...
- BZOJ 1391: [Ceoi2008]order [最小割]
1391: [Ceoi2008]order Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 1509 Solved: 460[Submit][Statu ...
- bzoj 1391 [Ceoi2008]order(最小割)
[题意] 有n个有偿工作选做,m个机器,完成一个工作需要若干个工序,完成每个工序需要一个机器,对于一个机器,在不同的工序有不同的租费,但买下来的费用只有一个.问最大获益. [思路] 对于工作和机器建点 ...
- POJ 1459-Power Network(网络流-最大流-ISAP)C++
Power Network 时间限制: 1 Sec 内存限制: 128 MB 题目描述 A power network consists of nodes (power stations, cons ...
- [POJ1273][USACO4.2]Drainage Ditches (网络流最大流)
题意 网络流最大流模板 思路 EK也不会超时 所以说是一个数据比较水的模板题 但是POJ有点坑,多组数据,而且题目没给 哭得我AC率直掉 代码 用的朴素Dinic #include<cstdio ...
- HDU 3081 Marriage Match II (网络流,最大流,二分,并查集)
HDU 3081 Marriage Match II (网络流,最大流,二分,并查集) Description Presumably, you all have known the question ...
- HDU1532 网络流最大流【EK算法】(模板题)
<题目链接> 题目大意: 一个农夫他家的农田每次下雨都会被淹,所以这个农夫就修建了排水系统,还聪明的给每个排水管道设置了最大流量:首先输入两个数n,m ;n为排水管道的数量,m为节点的数量 ...
- Redraw Beautiful Drawings(hdu4888)网络流+最大流
Redraw Beautiful Drawings Time Limit: 3000/1500 MS (Java/Others) Memory Limit: 65536/65536 K (Java/O ...
随机推荐
- MATLAB GUI图片添加背景
global im [filename,pathname]=uigetfile('*.jpg','输入图片'); file=strcat(pathname,filename); im=imread(f ...
- 在maven中classpath notfund
- 1.5.2、CDH 搭建Hadoop在安装之前(定制安装解决方案---使用内部包存储库)
本主题描述如何在Cloudera Manager部署中创建内部包存储库和直接主机以使用该存储库.您可以创建永久或临时存储库. 完成这些步骤后,您可以安装特定版本的Cloudera Manager或在未 ...
- excel 数据量较大边查询边输入到excel表格中
public Resultmodel getexpenseMessagx(HttpServletResponse response, String date1, String date2) { lon ...
- 如何解决cacti的snmp error
第一,确定cacti所有的主机能ping通被监控主机:如果不能ping通,请确认网络配置和被监控主机的ip设置是否正确. 第二,如果能ping通,那么确认被监控主机是否启用snmpd服务: ps -e ...
- MVC001之mvcpager简单分页
描述:用mvcpager实现简单分页功能 参考网址: http://www.cnblogs.com/iamlilinfeng/archive/2013/03/11/2951460.html http: ...
- MVC004之页面引用命名空间
描述:在控制器中返回了一个ViewData["currUser"] 给view,ViewData["currUser"]为 Greatwall.Hr.Bll.H ...
- idea使用maven打包jar包
1.在pom.xml中加入以下内容: <?xml version="1.0" encoding="UTF-8"?> <project xmln ...
- 约束布局 ConstraintLayout
app:layout_constraintVertical_bias="0.5"app:layout_constraintHorizontal_bias="0.5&quo ...
- 文本工具 TextUtils 字符串
常用方法: isEmpty:判断字符串是否为空值 getTrimmedLength:获取字符串去除头尾空格之后的长度 isDigitsOnly:判断字符串是否全部由数字组成 ellipsize:如果字 ...