博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
luogu P3410 拍照
阅读量:4881 次
发布时间:2019-06-11

本文共 2171 字,大约阅读时间需要 7 分钟。

最大权闭合子图 同上一篇blog

Code:

1 #include
2 #include
3 #include
4 #include
5 #include
6 #define ms(a,b) memset(a,b,sizeof a) 7 #define rep(i,a,n) for(int i = a;i <= n;i++) 8 #define per(i,n,a) for(int i = n;i >= a;i--) 9 #define inf 214748364710 using namespace std;11 typedef long long ll;12 typedef double D;13 #define eps 1e-814 ll read() {15 ll as = 0,fu = 1;16 char c = getchar();17 while(c < '0' || c > '9') {18 if(c == '-') fu = -1;19 c = getchar();20 }21 while(c >= '0' && c <= '9') {22 as = as * 10 + c - '0';23 c = getchar();24 }25 return as * fu;26 }27 const int N = 225;28 const int M = 50005;29 //head30 int s = N-2,t = N-1;31 int head[N],nxt[M],mo[M],cnt = 1;32 ll cst[M];33 void _add(int x,int y,ll w) {34 mo[++cnt] = y;35 cst[cnt] = w;36 nxt[cnt] = head[x];37 head[x] = cnt;38 }39 void add(int x,int y,ll w) {40 if(x^y) _add(x,y,w),_add(y,x,0);41 }42 43 int dep[N],cur[N];44 bool bfs() {45 queue
q;46 memcpy(cur,head,sizeof cur);47 ms(dep,0),q.push(s),dep[s] = 1;48 while(!q.empty()) {49 int x = q.front();50 q.pop();51 for(int i = head[x];i;i = nxt[i]) {52 int sn = mo[i];53 if(!dep[sn] && cst[i]) {54 dep[sn] = dep[x] + 1;55 q.push(sn);56 }57 }58 }59 return (bool)dep[t];60 }61 62 ll dfs(int x,ll flow) {63 if(x == t || flow == 0ll) return flow;64 ll res = 0;65 for(int &i = cur[x];i;i = nxt[i]) {66 int sn = mo[i];67 if(dep[sn] == dep[x] + 1 && cst[i]) {68 ll d = dfs(sn,min(cst[i],flow - res));69 if(d) {70 cst[i] -= d,cst[i^1] += d;71 res += d;72 if(res == flow) break;73 }74 }75 }76 if(res ^ flow) dep[x] = 0;77 return res;78 }79 80 ll DINIC() {81 ll ans = 0;82 while(bfs()) ans += dfs(s,inf);83 return ans;84 }85 int n,m;86 int main() {87 n = read(),m = read();88 ll x,sum = 0;89 rep(i,1,n) {90 x = read();91 add(s,i,x),sum += x;92 x = read();93 while(x) add(i,x+105,inf),x = read();94 }95 rep(i,1,m) add(i+105,t,read());96 printf("%lld\n",sum - DINIC());97 return 0;98 }

 

转载于:https://www.cnblogs.com/yuyanjiaB/p/10011834.html

你可能感兴趣的文章
清除浮动的方法
查看>>
Logstash连接Elasticsearch异常
查看>>
洛谷P4287 [SHOI2011]双倍回文(回文自动机)
查看>>
用户交互程序,格式化输出
查看>>
GNOME的发展与对比
查看>>
SPOJ PT07X Vertex Cover
查看>>
$ python-json模块的基本用法
查看>>
5.6.3.4 trim()方法
查看>>
Cookie、Session和自定义分页
查看>>
SQL演练
查看>>
React Antd中样式的修改
查看>>
Spring 应用外部属性文件 配置 context 错误
查看>>
导入lxml找不到etree,报ImportError:DLL load failed:找不到指定的程序
查看>>
面向对象一
查看>>
大象的崛起!Hadoop七年发展风雨录
查看>>
图片二值化
查看>>
数据库常用函数
查看>>
集合之TreeSet(含JDK1.8源码分析)
查看>>
C语言学习的记忆
查看>>
Lucene学习总结之三:Lucene的索引文件格式(1) 2014-06-25 14:15 1124人阅读 ...
查看>>