我正在尝试解决分区问题的变体。我有两个重要的转折。我需要解决 k 个分区,而不仅仅是 2 个,就像在经典分区问题中一样。
以下代码执行此操作:
https://gist.github.com/ishikawa/21680
我还需要允许自由地打乱项目的顺序,这样我才能得到最优的解决方案。因此,在经典问题要求元素的顺序保持完整,并且数组只是在半最佳点处拆分的情况下,我需要允许数组以这样的方式重新排序,即分区最小。
我该如何解决这个问题?对于这个现实世界的应用程序,这两种扭曲都是必要的。如果我能找到一个已经处理这个问题的 Java 库,我会非常高兴。