摘要: 题解:源点向单位建容量为单位人数的边,桌子向汇点建容量为桌子最多容纳多少人的边,单位向所有桌子连容量为1的边,跑最大流。 如果最大流等于单位总人数则有解,输出满流边即为方案。 1 #include<bits/stdc++.h> 2 using namespace std; 3 const int N 阅读全文
posted @ 2020-09-15 16:58 cumtljz 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 题解:用最莽的方法求出最长不下降子序列,然后以i为最后一个节点长度为1的与源点连容量为1的边,长度为最长公共子序列的与汇点连容量为1的边,拆点控制每个点选一次,求最大流得出问题二。对于问题三,将源点与1,1与拆点n+1,源点与n,n与n+n,n+n与汇点容量变为正无穷,在问题二的残余网络跑最大流即可 阅读全文
posted @ 2020-09-15 16:32 cumtljz 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 题解:利用分层图思想加入时间概念,第0天地球编号设为0,月球编号设为n+1,空间站编号在1到n之间。对于每一天都新建n+2个点表示不同天不同地方的情况,这样加入了时间概念。源点与第0天的地球建立一条容量k的边表示初始所有人在地球上,不同点与上一天相同点建立一条容量正无穷的边表示任意地方可以容纳无限多 阅读全文
posted @ 2020-09-15 15:14 cumtljz 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 题解:将外籍飞行员与源点建容量为1的边,英国飞行员与汇点建容量为1的边,外籍飞行员和英国飞行员有边就建容量为1的边,跑最大流。 输出方案:原边满流且端点非源点汇点就输出。 1 #include<bits/stdc++.h> 2 using namespace std; 3 const int N=1 阅读全文
posted @ 2020-09-15 14:42 cumtljz 阅读(171) 评论(0) 推荐(0) 编辑