这背后的图形概念是什么?

What's the graph concept behind this?

需要将一个人从群组中随机分配给另一个人。每个人都应该分配给某人。这背后的图形概念是什么?我需要为此编写一个算法。

例如: -A赋给B,B赋给C,C赋给A(有向图) 要么 -A赋值给C,B赋值给A,C赋值给B

  1. A、B、C 三个都应该分配给某人。
  2. A、B、C 三个都应该有一个作为作业。
  3. 没有重复的分配。
  4. 一个人只能分配给一个人。
  5. 一个人至少可以分到一个。

如果用下面的方式来表达,它可以表示为一个图形问题: 有源S 有一条成本为 N 的管道从 S 到您的每个 A、B、C .... 点 只要选择 X => Y 是可接受的,A、B、C 到 A'、B'、C' 中的每一个都有一个成本为 N 的管道 每个 A',B',C' ... 都有成本为 N 的管道到水槽 K

然后在 A,B,C ... 和 A',B',C' ... 之间找到一个可接受的匹配意味着用最少的 O(N3) 问题从 S 到 K 最大化。 通过改变管道的成本,您可以引入偏好并找到最小化“不满总和”的最佳选择。