Algorithm 分配算法
你有一张“人”的Lp列表和另一张“食物”的Lf列表 Lp中的每个元素需要Lf中的一个或多个元素,但只能接收一个Algorithm 分配算法,algorithm,Algorithm,你有一张“人”的Lp列表和另一张“食物”的Lf列表 Lp中的每个元素需要Lf中的一个或多个元素,但只能接收一个 算法应该如何决定Lf中的哪个元素分配给Lp中的每个元素(不需要分配所有Lf,也不需要提供给所有Lp)。您正试图最大化分配了所需Lf的Lp的数量。这可以通过将问题建模为图形并解决以下问题来解决: 将每个人都视为图中的一个节点;让我们称之为p节点 将每个食物视为同一图形中的另一个节点;让我们称之为f节点 如果一个人a喜欢食物b,在p_a和f_b之间加一条边。对每个人喜欢的食物都这样做。每个
算法应该如何决定Lf中的哪个元素分配给Lp中的每个元素(不需要分配所有Lf,也不需要提供给所有Lp)。您正试图最大化分配了所需Lf的Lp的数量。这可以通过将问题建模为图形并解决以下问题来解决:
a
喜欢食物b
,在p_a和f_b之间加一条边。对每个人喜欢的食物都这样做。每个边的容量为1请注意,通过更改边的容量,您可以适应问题陈述的变化。这可以通过将问题建模为图形并解决以下问题来解决:
a
喜欢食物b
,在p_a和f_b之间加一条边。对每个人喜欢的食物都这样做。每个边的容量为1请注意,通过更改边的容量,您可以适应问题陈述的变化。听起来像是找到了一个二部图形的最大匹配,。听起来像是找到了一个二部图形的最大匹配。