首页 > 解决方案 > 当 N 固定且 k<=N 时 N 模 k 的最大化

问题描述

假设有N个收藏品。您可以召集最少 1 个人到最多k个人为您收集这些收藏品。您呼叫的人数将在N的价值可能的最高权益中平等地在他们之间分享一些收藏品。您将获得剩余的收藏品。优化呼叫的人数,以便您获得最大可能的人数。收藏品,并输出最大可能的收藏品数量你可以得到。例如,如果有 11 个收藏品,您最多可以调用 3 个人,那么您最多可以获得 2 个收藏品。这是因为如果你打电话给 3 个人,他们会在 11 个人中以最高的权益分配收藏品,即 3。所以你会留下 2 个收藏品。

解决这个问题的一个明显方法是设置一个循环运行直到k,并存储最大可能的N 模 k。但这是一种直截了当的方法,我想通过在N 固定k<=N的约束下最大化 N 模 k来提高代码效率。有人可以为我提供优化上述问题的可能方法吗?

PS:我没有包含任何代码,因为直率的方法非常明显,我正在寻找一种方法来解决我希望解决问题的方式,而不是代码

标签: algorithmoptimizationmodular-arithmetic

解决方案


推荐阅读