摘要: 定义:选定一个点集和边集,其中选定的边的端点必须选进点集。求|E|/|V|的最大值 这里得出边权点权均为1的求法。 下面给出扩展。 1.存在边权(边权大于1) 将每个点的度数和换成相连边权值和即可。 2.同时存在点权和边权(点权,边权均大于1) 注意:原图的边建边容量和原图一样。 阅读全文
posted @ 2020-09-16 19:28 cumtljz 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 一个有向图的闭合图是指:该有向图的一个点集,且该点集的所有出边都指向该点集。最大权闭合图即是其中点权和最大的闭合图。 考虑所有正权的点与源点相连容量为点权,所有负权的点与汇点相连容量为点权相反数的边,图中原边建立容量为正无穷的边。 定义简单割:割边只存在与源点或与汇点相连的边。证明上面建图最小割为简 阅读全文
posted @ 2020-09-16 15:21 cumtljz 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 题意:定义两点边权值等于点权异或值,给出一些点权值,求如何给其他点标号使所有边权之和最小。 题解:根据异或的性质,我们可以单独确定每一个二进制位的最小值。对于每一位来讲:考虑这一位如果为1与源点连边,否则与汇点连边。那么与源点相连的点集集合内贡献为0,与汇点相连的点集集合内贡献为0,对答案贡献的只有 阅读全文
posted @ 2020-09-16 13:58 cumtljz 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 题解:要求最小化平均割权值,不妨二分最小平均割权值。对于每个二分的权值mid, 边权变为:原来权值-mid,注意题目中割集与网络流中定义的不同,如果边权为负则将该边加入答案,最后跑最大流,如果最大流的值加负权边值小于0则可以缩小枚举值。 1 #include<bits/stdc++.h> 2 usi 阅读全文
posted @ 2020-09-16 13:48 cumtljz 阅读(225) 评论(0) 推荐(0) 编辑