随笔分类 - 网络流
摘要:从源到每一个人连一条容量为 1 的边。 从每一个导师到汇连一条容量为导师战队人数的边。 第一问我们依次枚举每一个学员,然后再依次与第 1至 m 志愿的老师连边,如果与第 i 志愿的导师连边跑最大流使得最大流改变,说明找到了一个导师与自己对应。自己的最小的能实现的志愿就是 i 。如
阅读全文
摘要:重点是如何找到可以配对的a[i]和a[j]。 把a[i]分解质因数。设a[i]分解出的质因数的数量为cnt[i]。 设a[i]≥a[j] 那么a[i]可以和a[j]配对需要满足a[i]%a[j]==0&&cnt[i]==cnt[j]+1 证明显然。
阅读全文
摘要:如果权值为1就是最长反链。 然而并不是。考虑用费用流。 把每一个盒子i拆成i和i+n。 设源点为S,汇点为T。 S向每一个i连容量为1,费用为L[i]W[i]的边 每一个i向T连容量为1,费用为0的边。 每一个i向i+n连容量为1,费用为
阅读全文
摘要:根据期望的线性性答案就是捕捉每一只精灵的概率之和。 捕捉一只精灵的方案如下: 1.使用一个A精灵球,贡献为A[i] 2.使用一个B精灵球,贡献为B[i] 3.使用一个A精灵球和一个B精灵球,贡献为A[i]+B[i] A[i] B[i] 然后我们可以这样建图: 源点S向
阅读全文
摘要:首先如果点权全都为正,就可以直接选所有的点。 活在梦里。。 考虑枚举一个点i,作为我们选择的集合中的一个点。 然后我们把另一个点j选入集合的时候必须把两棵树中i和j路径上的点全都选入集合。 似乎想到了什么。 闭合子图。 不就是一个最大权闭合子图吗。 然后我们按最大权闭合子图的模型建图
阅读全文
摘要:给出一种最小割的方法。 设num1[i],num2[i]为第i种形状的点心的两种口味的数量 设type[i],type[i]为第i种形状的点心的两种口味 假设$num1[i] include include include include include include using
阅读全文
摘要:题意 N(2<=n<=200)个城市,M(1<=m<=40000)条无向边,你要找T(1<=T<=200)条从城市1到城市N的路,使得最长的边的长度最小,边不能重复用。 题解 简单的网络流判定。 一看问法想到二分答案。然后边不能重复直接上网络流。 (用边长小于mid的边建图然后跑最大流,最后比较流量
阅读全文