有人可以建议动态编程方法来解决这个问题吗?
您的社区学区需要您的帮助! 在你的学区和那里有n个学校的孩子 是k学校。每个孩子都需要去一所最多5分钟的学校 离他或她家很近。这意味着每一个 孩子只能参加k学校的一部分。而且,每所学校都有 容量;用ci表示第i所学校的能力 ,并且总和 所有容量都等于n。给出有关容量的数据,以及 学区想要的每个n个孩子符合条件的学校名单 知道学校是否有有效的子女分配。设计一个 多项式算法来回答这个问题。
答案 0 :(得分:0)
参见Max-flow min-cut(虽然不是DP方法)
source
与所有N
个孩子相关联K
所有学校连接到sink
max-flow
等于N
而不是有效作业复杂性
E.g。在我们的案例中,Dinic的算法在O(VE log(V))
中运行
V
= 1 + N + K + 1
E
- N+K
] 中的 N+K+(N*K)