我目前正在开发一个播放列表播放器,但遇到了问题。我的播放列表中有不同长度的间隙,我想用特殊的音频文件来填充这些间隙。这些文件也有不同的长度,通常比我在播放列表中的间隙短。
这听起来像是一个经典的背包问题,所以我尝试实现这个算法。对于较小的间隙,这个算法运行得很好,但每当我有一个30分钟的间隙时,算法就会使用极高的内存。这是预料之中的,因为我使用了动态规划来解决这个问题。
背包的容量为{毫秒数的间隔},背包物品的重量为音频文件的毫秒数。
这非常低效。所以我想知道是否可以使用不同的算法,或者将重量和容量变成更小的变量。到目前为止,我考虑将所有东西除以一个任意数,但这样做会失去精度。
有人有什么想法吗?
编辑:
我有大约500个填充物来填补这个间隙。改变音调是不可能的。 这组填充物应该有一个完美的解决方案。 我真的想要毫秒级的精度,但如果有100ms以下的误差,我可以接受。
这听起来像是一个经典的背包问题,所以我尝试实现这个算法。对于较小的间隙,这个算法运行得很好,但每当我有一个30分钟的间隙时,算法就会使用极高的内存。这是预料之中的,因为我使用了动态规划来解决这个问题。
背包的容量为{毫秒数的间隔},背包物品的重量为音频文件的毫秒数。
这非常低效。所以我想知道是否可以使用不同的算法,或者将重量和容量变成更小的变量。到目前为止,我考虑将所有东西除以一个任意数,但这样做会失去精度。
有人有什么想法吗?
编辑:
我有大约500个填充物来填补这个间隙。改变音调是不可能的。 这组填充物应该有一个完美的解决方案。 我真的想要毫秒级的精度,但如果有100ms以下的误差,我可以接受。