如何使用Network Flow来解决这个问题?

时间:2014-12-15 11:49:20

标签: algorithm network-flow

假设我们有一个二进制矩阵(只有零个或一个元素)。给定元素的相邻元素是该元素的上方,下方,左侧和右侧的所有4个元素(如果它们存在)。反演是一对,其数字不同,也是相邻的。矩阵的cost是b * q,其中b是自然数,q是反转数。我们可以通过成本来翻转任何元素。所以我们想要最小化x * a + q * b,其中x是翻转元素的数量。

我认为我可以将所有元素视为节点和连接到所有零元素的源以及连接到所有一个元素的接收器。但是我可以找到一种很好的方法来定义节点之间的边缘并定义它们的容量,直到网络流量问题的答案成为原始问题的答案