- 0
- 0
- 约1.18千字
- 约 1页
- 2026-08-31 发布于北京
- 举报
开发计划解题报告
福建师大附中
问题描述
本题的数学描述是:给定一有向图G(V,E),图中每个顶点有一权值(或正或负)。求
顶点集的一个子集V’,满足对任意弧〈u,v〉∈E,若v∈V’,则u∈V’,使得V’中所有顶点
的权值之和最大。
算法分析
这道题用搜索或动态规划解,算法都是指数级的。如果采用流网络方法解题,则可以在
3
O(n)的时间内完成,显然它的优势是巨大的。流网络模型的构造方法如下:首先根据项目之
间的依赖关系建立n个顶点的有向图,若项目i必须依赖于项目j,则在顶点i和顶点j之间
加入一条弧。然后把这个有向图改造成流网络,原图中每条边的容量为无穷大。另外加入源
s与汇t,对于每个项目i,若它的预算C为正(),则在顶点i与t之间加入一条容量为
C的边;若它的预算C为负(支出),则在s与顶点i之间加入一条容量为-C的边。然后求
这个网络的最大流f和最小割(S,T)。累计所有项目的正预算之和r,r-f就是最大利润;T
中的顶点就表示最优方案
原创力文档

文档评论(0)