电视台要连续几天播放一部38集的连续剧,每天至少播放一集,而且每天播放的集数不一样多,那么这部电视连续剧,最多要用( )天播完

1个回答
展开全部
摘要 这道题可以用贪心算法来解决。因为每天播放的集数不一样多,我们可以尽可能多地播放集数较多的剧集,这样可以保证用的天数最少。具体做法如下:将所有的剧集按照集数从大到小排序。每天播放的集数不一样多,所以我们可以从前往后依次播放剧集,每天播放的集数尽量多,直到不能再播放为止。统计需要多少天才能播放完所有的剧集。假设剧集集数从大到小排序后依次为a1,a2,...,an,每天播放的集数分别为b1,b2,...,bm,则使用贪心算法播放这部电视连续剧最多需要用min(n,ceil(sum(a[i])/max(b)))天。其中,sum(a[i])表示所有剧集的总集数,max(b)表示每天最多播放的集数,ceil()表示向上取整。例如,假设这部电视连续剧有38集,每天最多播放的集数分别为2、3、4、5集,那么播放这部电视连续剧最多需要用min(38,ceil(38/5))=8天。
咨询记录 · 回答于2023-03-09
电视台要连续几天播放一部38集的连续剧,每天至少播放一集,而且每天播放的集数不一样多,那么这部电视连续剧,最多要用( )天播完
这道题可以用贪心算法来解决。因为每天播放的集数不一样多,我们可以尽可能多地播放集数较多的剧集,这样可以保证用的天数最少。具体做法如下:将所有的剧集按照集数从大到小排序。每天播放的集数不一样多,所以我们可以从前往后依次播放剧集,每天播放的集数尽量多,直到不能再播放为止。统计需要多少天才能播放完所有的剧集。假设剧集集数从大到小排序后依次为a1,a2,...,an,每天播放的集数分别为b1,b2,...,bm,则使用贪心算法播放这部电视连续剧最多需要用min(n,ceil(sum(a[i])/max(b)))天。其中,sum(a[i])表示所有剧集的总集数,max(b)表示每天最多播放的集数,ceil()表示向上取整。例如,假设这部电视连续剧有38集,每天最多播放的集数分别为2、3、4、5集,那么播放这部电视连续剧最多需要用min(38,ceil(38/5))=8天。
如果是最多 那么是38天
至少播放一集
下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消