先不考慮任何條件。分組的情形總共有 這麼多個(Bell Number, 請參考 http://oeis.org/A000110 ) 。因此 的時候,只有約 11 萬種分法。對於每一個分法,我們要找出最佳的權重分配 ,我們發現,這個權重分配,只與每一層的數量有關,也就是,只跟 partition 有關。因此,我們可以預處理所有的 partition,找出他們真正的最佳解,然後爆搜所有可能的子集合分法。每一筆的時間複雜度是 ,大約是 。記得加cut。
最佳解的 weight 不見得所有 的連續整數次方都有,中間可以跳過一些 的次方 (題目只是說非負整數次方)。也就是說,這個 不見得是 {最大的 group size}+1