摘要: 链接: http://poj.org/problem?id=3155 题解: 要最大化下式: 可以用二分求解以下分数规划问题: 也就是最大化: 设子图为G'=(V', E')。如果边(u,v)∈E',那么必有u,v属于V'。把点权设为负值的话,问题可以转换为求最大权闭合图(POJ 2987 Firi 阅读全文
posted @ 2017-04-03 20:03 Flowersea 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 1 const int MAX_N = 1; 2 int G[MAX_N][MAX_N]; 3 int v[MAX_N]; // v[i]代表节点i合并到的顶点 4 int w[MAX_N]; // 定义w(A,x) = ∑w(v[i],x),v[i]∈A 5 bool visited[MAX_N]; // 用来标记... 阅读全文
posted @ 2017-04-03 17:11 Flowersea 阅读(302) 评论(0) 推荐(1) 编辑
摘要: 现在有一个有向图,每个点有点权,点权可正可负。对于任意一条有向边i和j,选择了点i就必须选择点j,你需要选择一些点使得得到权值最大。 这个问题可以用网络流解决。 建图方法:对于任意点i,如果i权值为正,s向i连容量为其权值的边,否则i向t连容量为其权值的绝对值的边。原图所有边容量为正无穷。则最大权= 阅读全文
posted @ 2017-04-03 16:29 Flowersea 阅读(203) 评论(0) 推荐(2) 编辑