K12教育赛事综合服务平台
聚乐之家官方网站
下载聚乐之家官方App
专注青少年竞赛题库网站
普通完全背包问题默认求最大价值或不考虑顺序的组合数,本题考查完全背包求排列数的核心差异点。
外层遍历背包容量从小到大,内层遍历硬币面额,dp数组定义为dp[i]表示凑成金额i的排列数,初始dp[0]=1,转移方程为dp[i] += dp[i - coin](当i >= coin时),该实现可得到正确结果
外层遍历硬币面额,内层遍历背包容量从小到大,其余逻辑同选项A,该实现可得到正确结果
为了避免硬币被重复计数,内层遍历背包容量必须从大到小,其余逻辑同选项A,该实现可得到正确结果
该问题需要考虑选择顺序,无法基于完全背包模型求解,只能通过回溯法暴力枚举所有方案统计结果