如果我們給出了整數對(a1,b1),(a2,b2),(a3,b3),..(an,bn)
並且有一個最大總和值= X
那麼我們如何選擇給定的對使得第一個條目的總和(即a1,a2,... ap )在所選對中是maximum but <= X
? E.g如果給定的對是(43,9),(57,12),(13,4)
和最大總和71
然後我們可以選擇對是(57,12)
和(13,4)
給出最大總和< = 71(X)爲70。 我最初的方法是根據第一個輸入值按降序排列對,然後可能是一個O(n^2)算法..但我不確定這個,對於大量數據它也可能太慢。那麼有沒有有效的方法呢? 謝謝。選擇一個整數來最大化總和
0
A
回答
1
聽起來這可能與0-1 Knapsack問題的修改來實現。
相關問題
- 1. 數據表中選擇最大總和
- 2. 選擇最大總和的有理數
- 3. 最大化總和
- 4. MySQL的選擇最大的總和值
- 5. 選擇兩列總和的最大值
- 6. 選擇最大日期的總和
- 7. 選擇總和最大的向量Matlab
- 8. 選擇每天總和()的最大值
- 9. 來自未分類數組總和的PHP最大整數
- 10. 拆分一個整數並找到最大的總和C++
- 11. CI:選擇最大返回整數?
- 12. 如何選擇最高支數,總和
- 13. 來自同一個電話選擇最後2最大
- 14. 從多個遞增序列中選擇最大值的總和
- 15. 選擇最大的數額,但沒有結果的總和
- 16. 選擇最小,最大和一行有一個特殊的FK
- 17. 最大化兩個整數列表之間的總和? (有限制)
- 18. 選擇總和大於某個數字的最小數量記錄
- 19. 選擇整個最後一行
- 20. 窗體大小調整和最大化
- 21. 選擇在SQL Server中最大的日期和COMPRATE的總和
- 22. 在一個SQL查詢中選擇最大值和最小值
- 23. 在一個MySQL命令中選擇最大和最小記錄
- 24. 選擇一個對象的最小值和最大值
- 25. 彈出窗口最大化和關閉,調整大小選項
- 26. Excel - 只選擇一個最大值
- 27. 選擇最大值列的完整行
- 28. numpy的整數優化/最大化
- 29. Linq NHibernate:一次選擇多個總和
- 30. 爲每個組選擇第一個,最大和最後一個非空值
我很困惑,如何才能最大總和同時是X和<= X(除非它只是X,在這種情況下,爲什麼有<?)。此外,這對#號碼如何適應?我想你可能會丟失或誤解的問題的一部分。(編輯)OK,我想我明白了,你都獲得了最高金額(X),所以必須選擇是<= X) – user439407
我指的總和對的第一項必須是最大的但同時 71 –
pranay
我認爲'pranay'it是動態規劃問題。在動態編程中尋找最大總和問題,這可能會對你有所幫助。但仍usuaully在這種特殊情況下,也將給予爲O(n^2),但我認爲我們可以通過這樣的事情在O(n)的做到這一點: 首先只考慮一對好喜歡43的第一部分,57然後類似於DP的加權區間調度問題,即通過如下方式獲得概率的解:「或者第i個值將在解決方案中,或者它不會出現遞歸設計,因此解決方案要麼是第i個成員,要麼是從第i-1個成員' –