当前位置: 首页 > news >正文

背包问题刷题

P2840 纸币问题 2

有序排列 : 顺序不同算同一种的,要先按照金额遍历,下一层循环就是遍历物品,这样可以保证每一层循环都可以遍历到所有物品;

步骤枚举维度正在处理什么此时的dp[3]代表什么
j=3跑所有纸币最后一步可以加 1(来自dp[2]的所有方案)包含[1,1,1][2,1]
j=3跑所有纸币最后一步可以加 2(来自dp[1]的所有方案)新增[1,2]

无序排列 : 顺序不同的算同一种,先按照物品遍历,再遍历金额,按种类依次加入1永远在2前面被考虑,所以{2, 1}这种顺序根本不会出现

步骤枚举维度正在处理什么此时的dp[3]代表什么
i=1 (纸币 1)只跑容量循环只用 1 元凑数只能由1+1+1组成
i=2 (纸币 2)只跑容量循环在 1 元的基础上尝试加入 2 元只能由1+1+11+2组成

状态方程和状态转移:

1. 状态定义

dp[i]表示凑出金额i有序方案数

2. 状态转移方程

dp[j]=(dp[j]+dp[j−ak​])modMOD

  • 对于每个金额j,遍历所有纸币a_k
    • 如果j >= a_k,则dp[j]可以由dp[j - a_k]转移而来(在所有凑出j-a_k的方案末尾,加一张a_k纸币,得到新的有序方案)
  • 转移顺序:先枚举金额 j,再枚举纸币 a_k(这是区分有序 / 无序的关键!)

3. 初始化

  • dp[0] = 1:凑 0 元只有 1 种方式(不选任何纸币)
  • 其余dp[i] = 0

4. 最终答案

dp[w]即为所求,对 109+7 取模。

有序:

#include <bits/stdc++.h> using namespace std; typedef long long ll; const int N = 10010, mod = 1e9 + 7; ll v[N], f[N]; int n, w; int main(){ cin >> n >> w; for(int i=1; i<=n; i++) cin >> v[i]; // cout << v[1] << endl; f[0] = 1; for(int i = 1; i<=w; i++){ for(int j = 1; j<=n; j++){ if(v[j] <= i) f[i] = (f[i] + f[i-v[j]]) % mod; } } // cout << w << endl; cout << f[w]; return 0; }

无序:

#include <bits/stdc++.h> using namespace std; typedef long long ll; const int N = 10010, mod = 1e9 + 7; ll v[N], f[N]; int n, w; int main(){ cin >> n >> w; for(int i = 1; i<=n; i++) cin >> v[i]; for(int i = 1; i<=n; i++){ f[0] = 1; for(int j = v[i]; j<=w; j++){ f[j] = (f[j] + f[j-v[i]]) % mod; } } cout << f[w]; return 0; }
http://www.jsqmd.com/news/607596/

相关文章:

  • 2026年欧洲地区受欢迎的开箱机品牌,纸箱开箱机制造企业排名 - 工业品网
  • 解放双手!3种炉石传说自动化方案深度评测:从入门到精通
  • LoRA训练助手GPU算力优化:支持FP16/INT4双精度推理,显存占用降低58%
  • 2026年中国中高端浓香型白酒权威榜单:大众商务宴请价值之选深度评测 - 资讯焦点
  • 解锁Tello无人机的AI编程潜能:从零基础到自主飞行的探索之旅
  • 2026人生第一双高跟鞋怎么选?3个标杆品牌参数对比 - 资讯焦点
  • yz-bijini-cosplay创作者经济探索:基于该镜像构建付费Cosplay图生成服务
  • 2026男士油痘肌洗面奶控油祛痘深层清洁去粉刺国货平价口碑款 - 资讯焦点
  • PyTorch实战:用傅里叶变换给图像做‘体检’,分离振幅与相位(附完整代码)
  • 第4章,[标签 Win32] :SysMets3 程序讲解04,垂直滚屏重绘
  • 2025-2026年全球专户订制公司评测:五家口碑服务推荐评价顶尖 - 品牌推荐
  • C++ 模板特化机制的实际案例
  • 基于YOLOv11深度学习的蘑菇毒性检测系统(YOLOv11+YOLO数据集+UI界面+登录注册界面+Python项目源码+模型)
  • log4Esp:ESP8266嵌入式日志框架设计与实践
  • 2026年精益生产系统选型指南:10款主流精益生产系统深度对比
  • GPT-5.4辅助算法设计与优化:从理论到实践的系统方法
  • LaTeX颜色避坑指南:为什么你的dvipsnames不生效?5种定义颜色的正确姿势
  • 全肤质适配|HNF珍白光透亮面霜实测,淡斑淡印不刺激,油皮敏感肌各有专属款 - 资讯焦点
  • 高功耗芯片散热技术突破:材料革新与结构优化实践
  • 智能进化:基于DouZero的欢乐斗地主AI实战突破指南
  • 设计系统 showdown:Awesome DESIGN.md vs UI UX Pro Max - AI 时代的设计规范新范式
  • 2025-2026年全球FOF理财公司推荐:五大口碑产品评测对比顶尖 - 品牌推荐
  • 力扣算法刷题-Day 4
  • svn web页面管理svnadmin部署
  • 如何开发Schematics自定义类型:扩展Python数据验证库功能的完整指南
  • LFM2.5-1.2B-Thinking-GGUF部署教程:低功耗ARM服务器部署可行性验证
  • 基于深度学习YOLOv12的蘑菇毒性检测系统(YOLOv12+YOLO数据集+UI界面+登录注册界面+Python项目源码+模型)
  • 2025-2026年全球FOF理财公司评测:五家口碑产品推荐对比顶尖 - 品牌推荐
  • 2025-2026年全球资产配置公司推荐:五大口碑产品评测对比领先 - 品牌推荐
  • 2026届必备的五大降AI率平台实测分析