|
1
3
很容易证明划分问题在多项式时间内简化为这个问题。 想象一下,你想解决某个数组A的分区问题,但你只知道如何解决你的问题。你只需将数组长度加倍,用零填充即可。如果你能用你的算法解决它,那么你就解决了分区问题。这证明你的问题是NP难的。 但你会发现,除非你限制浮点数的精度,否则你无法将这个问题简化为分区(即它不是NP完全)。在这种情况下,相同的算法将解决这两个问题。 在一般情况下,你能做的最好的事情就是回溯。 |
![]() |
2
2
我的建议是对值进行排序,然后考虑每对值(v1,v2),(v3,v4),将每对值中的一个元素放入一个分区中。 这个想法是交替将值放入每个集合中,因此:
如果元素数量为奇数,请将最后一个值放入最符合您条件的集合中。 您对最小值的定义较为宽松,因此无需进行全面搜索。对于许多值的分布,上述方法应该非常有效。 |
![]() |
Danil · 种子/填充核心数据的最佳实践?[关闭] 6 月前 |
![]() |
Robin · LazyVGrid项目预计不会击中测试区域 6 月前 |
![]() |
Alex Smith · 移动到下一个视图控制器后如何显示警报? 6 月前 |
![]() |
selcukctn · 如何在react native中制作无限动画? 7 月前 |
![]() |
Nicolas Gimelli · iOS 18远程通信通知不起作用 7 月前 |