首页 > 其他分享 >洛谷 P8687 [蓝桥杯 2019 省 A] 糖果

洛谷 P8687 [蓝桥杯 2019 省 A] 糖果

时间:2024-02-01 20:12:14浏览次数:33  
标签:洛谷 组合 蓝桥 口味 P8687 糖果 包数 dp

题意

有 \(m\) 种口味,每次 \(k\) 颗一袋出售,给你 \(n\) 包均为 \(k\) 颗的糖果,求最少买几袋可以吃到所有口味的糖果。

思路

  • 暴力

    对 \(n\) 包糖果做组合。如果找到其中一种包含了所有口味,将所有满足的方案取糖果包数最小即可。

    时间复杂度 \(\mathcal{O(2^n)}\)。

  • 正解

    考虑状压 dp 优化,定义状态 \(dp_i\) 为得到组合 \(i\) 的最少糖果包数,即答案为 \(dp_{(1<<m)-1}\)。

    往组合 \(i\) 中加入一包糖果,得到新的组合 \(j\),则从 \(i\) 到 \(j\) 需要包数 \(dp_i+1\)。若原来的 \(dp_j\) 本来就大于 \(dp_i+1\),说明找到了更优解法,更新 \(dp_j\) 即可。

代码

for(int i=0;i<=(1<<m)-1;i++){
    if(dp[i]!=-1){
        for(int j=0;j<n;j++){
            if(dp[i|a[j]]==-1||dp[i|a[j]]>dp[i]+1){
                dp[i|a[j]]=dp[i]+1;
            }
        }
    }
}

标签:洛谷,组合,蓝桥,口味,P8687,糖果,包数,dp
From: https://www.cnblogs.com/Telsif/p/18002026

相关文章

  • 洛谷题单指南-暴力枚举-P1149 [NOIP2008 提高组] 火柴棒等式
    原题链接:https://www.luogu.com.cn/problem/P1149题意解读:计算符合A+B=C时,火柴棍数量正好等于n,可以采用枚举A、B,然后计算出C,根据A、B、C计算出所有火柴棍数量,再加上4根加号、等号的,如果与n相等,即为一种合法等式。解题思路:题目的关键在于枚举A、B时,最大值的设定,不能超时。分析......
  • 洛谷题单指南-暴力枚举-P1217 [USACO1.5] 回文质数 Prime Palindromes
    原题链接:https://www.luogu.com.cn/problem/P1217题意解读:本题要找[a,b]范围内的所有回文质数,千万不要被题目提示所干扰,如果按照提示先产生各个长度的回文数,再依次判断是否是素数,程序写起来比较繁琐,需要根据a、b的长度,写8个判断是否产生1~8位回文数,最后做素数判断。换一个思路......
  • 洛谷二分题单和二分算法
    在题目有出现极值的时候可以运用二分算法,像最小值最大化和最大值最小化又或者像会有中位数,大于这个数的时候可以把他全部视为1小于这个数可以全部视为0,这样隐藏的单调也是可以运用二分。最难的好像就是check函数的设计板子的不同会导致L,R和mid的关系不然会超时,L+1<R的L是=mid,而L......
  • 洛谷题单指南-暴力枚举-P3654 First Step (ファーストステップ)
    原题链接:https://www.luogu.com.cn/problem/P3654题意解读:在r*c矩阵中,找连续k个.的总数。解题思路:本题直接枚举即可,在每一行中,以每一列为起点,连续判断k个元素,如果全为'.',则方案数加1在每一列中,以每一行为起点,连续判断k个元素,如果全为'.',则方案数加1注意:如果k=1,只有一个人......
  • 洛谷题单指南-暴力枚举-P3392 涂国旗
    原题链接:https://www.luogu.com.cn/problem/P3392题意解读:此题枚举白、蓝、红所有可能的行数组合,依次逐行判断每个方格,是否需要染色,计算最少的染色次数即可。解题思路:总行数是n,先考虑白色,第一行必是白色,最后一行必是红色,至少有一行蓝色,因此白色行数的范围是1~n-2再考虑蓝......
  • 1.31 蓝桥杯练习5题
    1.31蓝桥杯练习5题退役哩,但是下学期还要打蓝桥。好久没写题脑袋空空,准备每天写几个练手。1.[P8599蓝桥杯2013省B]带分数题意:\(100\)可以表示为带分数的形式:\(100=3+\frac{69258}{714}\)。还可以表示为:\(100=82+\frac{3546}{197}\)。注意特征:带分数中,数字\(1......
  • 洛谷 P4580 [BJOI2014] 路径
    传送门分析可以考虑dp。先朴素地定义\(dp[i][j]\)表示当前在结点\(i\),已经走过了\(j\)个结点(含当前)的方案数。发现没法处理括号匹配,于是加一维\(k\)表示当前还剩\(k\)个前括号没有匹配。又发现没法处理前导\(0\)。于是考虑再加一维表示当前的最后一位是什么状态。发......
  • 洛谷 P3976 [TJOI2015] 旅游
    这出题人语言表达能力真的感人……希望你们看完这篇题解后不要觉得我的语言表达能力和出题人不相上下。题目大意给定一棵有点权的树,每次询问从\(u\)到\(v\)的路径上后经过的点权减去先经过的点权的最大值,再把这条路径上所有点的点权加上一个给定的数。分析俗话说得好:如果......
  • 洛谷 P1438 无聊的数列
    这题题解的做法千奇百怪,有写了两棵线段树的,有线段树套差分的,还有线段树套二阶差分的。我承认是我看不懂所以我决定写一篇只用一棵线段树的题解。分析众所周知,普通线段树的懒标记存的是一个待更新的量。那对于这个题来说,直接存和(也就是add操作在这个线段上的影响)肯定是不切实际......
  • 洛谷 P4429 [BJOI2018] 染色
    洛谷传送门LOJ传送门非常有趣的结论题。首先显然,整个图不是二分图就无解。然后显然每个连通块独立,可以分连通块判定。然后发现一度点是没什么用的,因为无论和它相连的点颜色是什么,它都能找到一种和这种颜色不同的颜色。所以考虑类似拓扑排序剥一度点。剩下的图的\(deg_u\ge......