2

我正在尝试创建一个算法来解决以下问题: 更新了问题的图像

输入是包含整数对(键,值)的未排序集合列表。每对中的第一个在集合中是积极的并且是唯一的。
我想找到一种算法来拆分输入集,以便可以对集进行排序,以便对于每个键,值在集顺序中不递减。

有一个简单的解决方案是将集合拆分为每个单独的值并对它们进行排序,我希望在拆分的集合数量方面更有效。

您是否遇到过任何类似的问题和/或您可以建议的技术?最优(最小分割数)解决方案听起来像是在多项式时间内可能吗?


编辑:在示例中,“<=”运算符表示对整个集合的约束,因此对于每个键值(100、101、102),相应的值等于或大于先前集合中的值(或从集)。即使用输出集中的顺序提取每个键的值给出:

  • 键 100 {0, 1}
  • 键 101 {2, 3}
  • 键 102 {10, 15}
4

1 回答 1

0
于 2012-08-09T18:57:30.110 回答