[问题] 任意数加总的算法

楼主: 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