这是另一个动态编程问题(Vazirani ch6)
考虑以下 3-PARTITION 问题。给定整数 a1...an,我们想确定是否可以将 {1...n} 划分为三个不相交的子集 I、J、K,使得
和(I) = 和(J) = 和(K) = 1/3*和(全部)
例如,对于输入 (1; 2; 3; 4; 4; 5; 8),答案是肯定的,因为存在分区 (1; 8), (4; 5), (2; 3; 4)。另一方面,对于输入 (2; 2; 3; 5),答案是否定的。设计和分析 3-PARTITION 的动态规划算法,该算法在 n 和 (Sum a_i) 的时间多项式中运行
我怎么解决这个问题?我知道 2-partition 但仍然无法解决它