多组背包恰好装满方案数

链接:登录---专业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;
    }
相关推荐
淡海水7 小时前
07-04-并发-ConcurrentBag-T-工作窃取WorkStealing算法
开发语言·算法·c#·bag·concurrent·workstealing
leobertlan7 小时前
好玩系列:训练一个神经网络模型指导小孩玩游戏2-大局观教练
算法
Tisfy8 小时前
LeetCode 3876.构造奇偶一致的数组 II:三种情况分类讨论(其实还是脑筋急转弯)
算法·leetcode·题解·脑筋急转弯
lvwangshu8 小时前
P7668 [JOI 2018 Final] 团子制作 / Dango Maker 题解
动态规划·题解·贪心·性质题·思维好题
乐迪信息8 小时前
智慧港口船舶AI算法实现在线状态监测
大数据·人工智能·深度学习·算法·计算机视觉
kiracrimson9 小时前
从缓存的角度看链表与线性表的差异
数据结构·链表·缓存
木井巳10 小时前
【BFS/DFS 解决 FloodFill 算法】太平洋大西洋水流问题
java·算法·leetcode·深度优先·广度优先·宽度优先·推荐算法
心抵鹊10 小时前
归并排序之翻转对(hard)
数据结构·算法
白山编程大哥10 小时前
Java 集合算法:从排序、查找到底层原理的实战指南
java·python·算法
_Twink1e11 小时前
openJiuwen 实训营 Day 1 · WorkSwarm 入门教程
开发语言·c++·openjiuwen