dynamic-programming - 如何将具有给定流行度的 n 个元素分配到 k 个通道中(动态规划)
问题描述
我已经尝试了 2 天,但我被卡住了。
我有一个基站问题,基本上我需要在 k 个不同的信道中分配 n 个元素,从这些信道中,这些元素以循环方式传输。
每个元素都有一个流行度p。高人气意味着它需要更频繁地传播。我们将下载速度定义为 p * w,其中 w = 总 n。通道上的元素数 / 2。问题的目标是使每个通道的通道上的每个元素的总和 Σ(p*w) 尽可能小。
*很明显,必须将流行元素分配给具有少量元素的频道,以便以更高的频率传输它们。但是在同一个频道中分配很多不受欢迎的元素也会增加总和。所以有一个权衡。
前两个问题是:这个问题是否有一个最优的子结构?是否有任何重叠的问题?
这使我相信它需要解决动态编程,但是我无法提出解决方案。
有任何想法吗?提前致谢
解决方案
推荐阅读
- java - 远程访问异常 Java 读取超时
- sql - 如何优化我们使用事务板的查询?
- javascript - 如何从Nodejs中的列表中动态获取键名
- c++ - 在主循环之后添加 thread.join() 的逻辑(c++ boost/thread)
- reactjs - 重新渲染后未更新 useState 中的初始值
- typescript - TypeError:EventEmitter 不是新 MapboxGeocoder 的构造函数
- r - 将多个矩阵和向量附加到 R 中的单个矩阵中
- c - 我们可以从(可调试的)编译代码中提取 C 结构布局吗?
- laravel - 使用路由/api laravel 时未定义的变量
- pdf - Inkscape PDF 导入。“tspan”元素属性