假设硬币的面值为,其中c是一个大于1的整数,k是一个大于等于1的整数。设是找n分钱的最优解中面值的硬币的数量,那么对于,有。这是因为如果,那么可以用一个面值的硬币替换c个面值的硬币,从而减少了c-1个硬币,这与最优解矛盾。
设j是满足的最大整数,那么贪心算法会选择至少一个面值的硬币。如果不选择面值或更大的硬币,那么设非贪心解使用个面值的硬币,对于,那么有。由于,所以上式左边大于等于。又由于,所以上式左边小于等于。这与上面推出的左边大于等于矛盾。所以不选择面值或更大的硬币不能产生最优解。
因此,当硬币面值为c的幂次方时,最少硬币支付问题能使用贪心算法.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App