多组背包恰好装满方案数

链接:登录---专业IT笔试面试备考平台_牛客网

来源:牛客网

现在有一个大小n*1的收纳盒,我们手里有无数个大小为1*1和2*1的小方块,我们需要用这些方块填满收纳盒,请问我们有多少种不同的方法填满这个收纳盒


分析:

物品可以添加无数次,所以第二层循环放物体,初始化,装满0空间背包的方案数为1,即不装


复制代码
#include<bits/stdc++.h>
typedef long long ll;
using namespace std;
void solve()
{
   ll a[]={1,2};
   ll n;
   cin>>n;
   ll dp[n+1];
    memset(dp,0,sizeof dp);
   dp[0]=1;
   for(ll i=1;i<=n;i++)
   {
       for(ll j=0;j<=1;j++)
       {
           if(i>=a[j])
           dp[i]+=dp[i-a[j]];
       }
   }
    cout<<dp[n]<<'\n';
}
    int main()
   {
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    ll t=1;
    cin>>t;
    while(t--)
    solve();
    return 0;
    }
相关推荐
拳里剑气几秒前
C++:封装红黑树实现map和set
开发语言·数据结构·c++·学习方法
汉克老师1 分钟前
GESP2024年9月认证C++二级( 第一部分选择题(1-8))
c++·算法·循环结构·分支结构·gesp二级·gesp2级
阿猿收手吧!2 分钟前
【C++】syncstream:多线程安全输出的终极方案
c++·安全
「QT(C++)开发工程师」5 分钟前
Day 1:信号槽原理深入
c++·qt
石去皿5 分钟前
算法面试通关指南:高频考点+解题模板+避坑实战
算法·面试·职场和发展
Frostnova丶6 分钟前
LeetCode 799. 香槟塔
算法·leetcode
元亓亓亓6 分钟前
考研408--数据结构--day11--最小生成树&最短路径问题&拓扑排序&关键路径
数据结构·考研·最小生成树·拓扑排序·最短路径·关键路径
蒸蒸yyyyzwd9 分钟前
力扣刷题笔记
笔记·算法·leetcode
Anastasiozzzz9 分钟前
三色标记法:并发垃圾回收的核心算法与漏标问题攻防战
算法
gfdgd xi10 分钟前
GXDE OS 25.3.1 更新了!修复更多 bug 了!
linux·c++·操作系统·bug·deepin