【每日一题Day312】LC2240买钢笔和铅笔的方案数 | 完全背包 数学

简介: 【每日一题Day312】LC2240买钢笔和铅笔的方案数 | 完全背包 数学
买钢笔和铅笔的方案数【LC2240】

给你一个整数 total ,表示你拥有的总钱数。同时给你两个整数 cost1cost2 ,分别表示一支钢笔和一支铅笔的价格。你可以花费你部分或者全部的钱,去买任意数目的两种笔。

请你返回购买钢笔和铅笔的 不同方案数目

一眼背包问题 原来数学也可以解决

完全背包
  • 思路
    问题可以转化为,两种物品重量分别为cost1cost2,背包最大容量为total,物品数量不限时,填满不同背包容量时总共方案数

image.png

class Solution {
    public long waysToBuyPensPencils(int total, int cost1, int cost2) {
        long[] dp = new long[total + 1];// 花费i元去买任意数目的两种笔的方案数
        dp[0] = 1L;// 花费0元
        // 遍历物品钢笔
        for (int i = cost1; i <= total; i += cost1){
            dp[i] += dp[i - cost1];
        }
        // 遍历物品铅笔
        for (int i = cost2; i <= total; i++){      
            dp[i] += dp[i - cost2];
        }
        // 遍历记录总共的方案数目
        long res = 0L;
        for (int i = 0; i <= total; i++){
            res += dp[i];
        }
        return res;
    }
}

image.png

class Solution {
    public long waysToBuyPensPencils(int total, int cost1, int cost2) {
        long res = 0L;
        for (int i = 0; i <= total; i += cost1){
            res += (total - i) / cost2 + 1;
        }
        return res;
    }
}

image.png

目录
相关文章
|
1月前
【每日一题Day297】LC1444切披萨的方案数 | 动态规划+二维前缀和
【每日一题Day297】LC1444切披萨的方案数 | 动态规划+二维前缀和
38 0
|
1月前
|
Serverless
P1149 [NOIP2008 提高组] 火柴棒等式
P1149 [NOIP2008 提高组] 火柴棒等式
|
1月前
【每日一题Day360】LC1465切割后面积最大的蛋糕 | 贪心
【每日一题Day360】LC1465切割后面积最大的蛋糕 | 贪心
32 0
|
1月前
【每日一题Day338】LC2582递枕头 | 模拟+数学
【每日一题Day338】LC2582递枕头 | 模拟+数学
14 0
|
1月前
【每日一题Day165】LC1039多边形三角剖分的最低得分 | 区间dp
【每日一题Day165】LC1039多边形三角剖分的最低得分 | 区间dp
30 0
|
1月前
【每日一题Day126】LC1140石子游戏Ⅱ | 博弈dp 记忆化搜索
【每日一题Day126】LC1140石子游戏Ⅱ | 博弈dp 记忆化搜索
35 0
|
8月前
|
算法
【算法挨揍日记】day03——双指针算法_有效三角形的个数、和为s的两个数字
【算法挨揍日记】day03——双指针算法_有效三角形的个数、和为s的两个数字
37 0
|
9月前
|
C++
蓝桥杯 2240. 买钢笔和铅笔的方案数c++解法
蓝桥杯 2240. 买钢笔和铅笔的方案数c++解法
91 0
|
存储
【每日一题Day95】LC1815得到新鲜甜甜圈的最多组数 | 状态压缩dp 记忆化搜索
子问题、哪些操作会影响数据:余下的甜甜圈数量left,以及剩余可以选的元素个数 cnt[x]【dfs函数的两个参数->使用状态压缩至一个int类型变量中】
94 0
【每日一题Day95】LC1815得到新鲜甜甜圈的最多组数 | 状态压缩dp 记忆化搜索
|
人工智能 BI
【每日一题Day25】LC790多米诺和托米诺平铺 | 状态机DP
有两种形状的瓷砖:一种是 2 x 1 的多米诺形,另一种是形如 “L” 的托米诺形。两种形状都可以旋转。
82 0
【每日一题Day25】LC790多米诺和托米诺平铺 | 状态机DP