[問題] 任意數加總的演算法

作者: HowLeeHi (處處留心皆正妹)   2021-01-13 17:40:18
開發平台(Platform): (Ex: Win10, Linux, ...)
Linux
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
GCC
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
none
問題(Question):
請問N個隨機整數,任意加總找最接近X的演算法
有沒有什麼關鍵字呢?
假設有
22,1,8,37,28,15....
然後任意數加總 最接近但不超過50
我目前是把數字先排序
再用類似greedy的方法
從最大或最小值開始累加
但我發現這樣並不是最優解
請問有沒有關鍵字可以提示一下呢?
thanks!
作者: kobe8112 (小B)   2021-01-13 18:01:00
您是否在搜尋: 0/1 背包問題
作者: HowLeeHi (處處留心皆正妹)   2021-01-13 18:10:00
感謝1F...我居然忘了這個經典問題
作者: kendegi (啃德姬奶奶)   2021-01-14 21:10:00
感覺也可以用DFS(?)
作者: ucrxzero (RX-0)   2021-01-15 12:18:00
只要不是dp 都是窮舉
作者: ddavid (謊言接線生)   2021-01-15 15:23:00
樓上是想講一般論還是單指這題?
作者: MartinJ40 (Martin J-40)   2021-01-15 15:32:00
dp本質也是窮舉 只是比較有效率 複雜度是NP-complete
作者: DerLuna (陽月)   2021-01-17 23:04:00
直覺是要爆搜...
作者: atoi (atoi)   2021-01-18 21:14:00
N值最大為何呢?

Links booklink

Contact Us: admin [ a t ] ucptt.com