【发布时间】:2012-05-28 10:56:17
【问题描述】:
我在这里要问的问题已经在堆栈溢出中被问过了。 但我无法正确理解 Skiminok 发布的解决方案。
这里是Link .
我用给定的两个示例测试用例尝试了上面链接上发布的解决方案,但我无法得到正确的答案。
对于测试用例1::
N=3 和 K=2
5 4 7
DAG 将是::
注意:我已经构建了上述 DAG 考虑:
设 pi 和 pj 是两个不同的问题。然后我们将画一条从 pi 到 pj 的有向边当且仅当 pj 可以在同一天连续地在 pi 之后直接求解。即必须满足以下条件:
i
|vi - vj| >= K(评级要求)。
然后我构建了二分图考虑::
对于原始 DAG 的每条有向边 (u, v),应在二分图中添加一条无向边 (au, bv),其中 {ai} 和 {bi} 是大小为 n 的两个部分。
答案=上面二分图中的最大基数匹配。
上述二部图中的最大基数匹配=1(绿色egde)
但答案是 2。
类似的示例测试用例 2:
5 1
5 3 4 5 6
上图中的最大基数是 MORE THAN ONE,但正确答案是 1。
我认为我没有正确实现它,请你告诉我哪里出错了或者有没有其他方法
谢谢!
【问题讨论】: