亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

K個分區子數組之和的最大值

K個分區子數組之和的最大值

開滿天機 2021-06-16 18:01:01
給定數組的一個子數組,它的值是它包含的出現奇數次的元素的最大值。我想將數組劃分為 K 個子數組以最大化子數組值的總和。例如,如果我們有以下數組5 6 6 3 9 且 K=2我們可以將其劃分如下:(5) + (6,6,3,9) = (5 + 9 => 14 )(5,6) + (6,3,9) = ( 6 +9 => 15 )(5,6,6) + (3,9) = ( 5 + 9 =>14 )(5,6,6,3) + (9) = ( 5 + 9 => 14 )我能夠以粗暴的方式做到這一點,但正在尋找一種有效的算法。你能提出一些建議嗎
查看完整描述

3 回答

?
HUX布斯

TA貢獻1876條經驗 獲得超6個贊

實際上,問題似乎是最大 K 數的總和是多少。所以只需要按降序排序并對第一個 K 數求和即可。


查看完整回答
反對 回復 2021-06-30
?
搖曳的薔薇

TA貢獻1793條經驗 獲得超6個贊

顯然,我們可以有O(n^2 * k),因為如果f(i, k)代表可達到的最大可達A[i]用k零件,則:


f(i, k) = max(

  // include A[i] in previous part

  g(A[j..i]) + f(j - 1, k - 1),


  // don't include A[i] in previous part

  A[i] + f(i - 1, k - 1)

)

for all k <= j < i

where g(subarray) is the max element

in subarray that appears an odd number

of times

問題是我們如何更有效地選擇要測試的子數組A[i]。


查看完整回答
反對 回復 2021-06-30
  • 3 回答
  • 0 關注
  • 179 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號