多组背包恰好装满方案数

链接:登录---专业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;
    }
相关推荐
fei_sun9 分钟前
【SystemVerilog验证】数据类型(待补充)
数据结构·systemverilog
草莓熊Lotso10 分钟前
【Linux网络】深入理解 HTTP 协议(三):静态资源服务、状态码与重定向实战
linux·运维·服务器·网络·c++·http
青梅橘子皮24 分钟前
Linux---虚拟地址空间
linux·运维·算法
无忧.芙桃24 分钟前
数据结构之单链表
c语言·开发语言·数据结构
壹号用户25 分钟前
缺省参数和函数重载
c++·学习
KaMeidebaby25 分钟前
卡梅德生物技术快报|酵母表达系统工程:裂殖酵母穿梭载体分子改造与载体构建技术总结
网络·人工智能·网络协议·tcp/ip·算法
HZ·湘怡29 分钟前
二叉树 1
数据结构·算法·二叉树·
雨落在了我的手上29 分钟前
Java数据结构(二):时间和空间复杂度
数据结构
代码中介商34 分钟前
C++11移动语义:右值引用与高效资源转移
开发语言·c++
悠仁さん38 分钟前
list 链式表基本功能模拟实现(双向有头指针循环链表)
c语言·数据结构·链表·list