摘要:
又是套路啊 黑白染色,S,T连不同色的,求最小割,用总和-最小割即为答案 # include <stdio.h> # include <stdlib.h> # include <iostream> # include <string.h> # include <math.h> # define ll 阅读全文
摘要:
套路啊 棋盘黑白染色,S连黑,白连T,黑白间根据骑士的走法连边,求出最小割 最大独立集=点数-最小点覆盖;最小点覆盖=最大流=最小割 # include <stdio.h> # include <stdlib.h> # include <iostream> # include <string.h> 阅读全文
摘要:
最大权闭合子图:等于正边权 - 最大流(最小割) 我的理解 最大收益就是要求最小损失,那么用最小割模型(别问我是怎么想到的) S向实验连边,表示割掉这条边,把实验割给T会有损失 T向配置连边,表示割掉这条边,把配置割给S会有损失 跑出的最小割(最大流)就是损失 # include <stdio.h> 阅读全文
摘要:
枚举放的球,先假设新建柱子,拆成两个点,第一个点连S,表示后面还可以放;第二个连T表示放到其他柱子上;再枚举放过的数和它是否组成完全平方数,枚举的数的第一个点向它的第二个点连边,表示这个球可以放到其他球上,容量都为一 每次跑最大流出来的表示会消掉的柱子个数,如果此时球-消去的比n大则break输出答 阅读全文
摘要:
我的方法比较复杂 S向每个仓库连初始量的边,每个仓库拆成两个,后往前连INF边,前往T连平均值的边,边权都是0 再S每个仓库向相邻仓库的第二个点连INF边,边权为1 再费用流即为答案 # include <bits/stdc++.h> # define RG register # define IL 阅读全文