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

P8687 [蓝桥杯 2019 省 A] 糖果

时间:2024-03-25 10:14:48浏览次数:37  
标签:P8687 int 蓝桥 ++ 2019 ans 配料 零食

题意:n个零食,每个零食有k种配料,一共有m种配料。问最少吃几包零食,可以吃到所有配料。
n <= 100, m <= 20, k <= m。

思路:最优化问题,如果n <= 20可以直接bf,这里m <= 20,对m进行状态压缩,正确的解法应该是线性dp + 状态压缩。

总结:很容易陷入一个哈密顿路径思路的误区中,在哈密顿路径中,一个bit可以代表一个站点。状态的转移比较容易理解。在这个里面,bit位跟零食id没有联系,所以不能这么考虑。

https://www.luogu.com.cn/problem/P8687

void solve(){
    int n, m, k;
    cin >> n >> m >> k;

    vector<int> a(n, 0);
    for (int j = 0; j < n; ++j) for (int i = 0; i < k; ++i){
        int t;
        cin >> t;
        t --;
        a[j] |= (1 << t);
    }

    vector<int> ans(1 << m, 0x3f3f3f3f);
    ans[0] = 0;
    int s = (1 << m) - 1;
    set<int> sett;
    sett.insert(0);
    for (int i = 0; i < n; ++i){
        for (int j = 0; j < s; ++j){
            ans[j | a[i]] = min(ans[j | a[i]], ans[j] + 1);
        }
    }
    cout << (ans[s] != 0x3f3f3f3f ? ans[s] : -1) << endl;
}

标签:P8687,int,蓝桥,++,2019,ans,配料,零食
From: https://www.cnblogs.com/yxcblogs/p/18093745

相关文章

  • 数学算法(算法竞赛、蓝桥杯)--判定质数试除法
    1、B站视频链接:G06判定质数试除法_哔哩哔哩_bilibili题目链接:【深基7.例2】质数筛-洛谷#include<bits/stdc++.h>usingnamespacestd;boolis_prime(intx){ if(x==1)return0;//特判1不是质数 for(inti=2;i*i<=x;i++){//枚举小的那个到根号n即可 if(x%i==0......
  • P5324 [BJOI2019] 删数
    P5324[BJOI2019]删数转化条件+线段树由于值域不大,并且删数操作跟序列顺序无关,只和每个数的出现次数有关,考虑在值域上分析删数操作。发现对于每一个值\(i\)可以抽象为覆盖了\([i-buc_{i}+1,i]\)的区间。要使数列删空,就要让\([1,n]\)被填满。这样我们就会发现答案就是\([......
  • P8716 [蓝桥杯 2020 省 AB2] 回文日期
    思路解析本题与洛谷的P2010[NOI......
  • RabbitMQ3.x之一_WindowServer2019中安装RabbitMQ详细教程
    RabbitMQ3.x之一_WindowServer2019中安装RabbitMQ详细教程文章目录RabbitMQ3.x之一_WindowServer2019中安装RabbitMQ详细教程1.安装环境说明1.WindowServer20192.ErLang与RabbitMQ对应版本2安装Erlang1.安装Erlang2.ErLnag环境变量配置3.查看是否安装成功3.安......
  • 2019 年互联网寒冬下IT程序员招聘行情招聘形势感受
        几次听到过一个段子:2019年可能会是过去10年里最差的一年,但却是未来10年里最好的一年。前不久在清华大学上课的时候我们一个教授(他参与当前国家经济政策制定的)也善意提醒我们未来几年花钱一定要紧,切勿乱投资。虽然这些说法或许有些过于绝对和悲观,但春江水暖鸭先知,相信说......
  • 2024 蓝桥打卡Day18
    洛谷刷题P8682[蓝桥杯2019省B]等差数列题目[P8682[蓝桥杯2019省B]等差数列](https://www.luogu.com.cn/problem/P8682)题解P8682[蓝桥杯2019省B]等差数列题目P8682[蓝桥杯2019省B]等差数列题解importjava.util.Arrays;importjava.util.S......
  • 第十二届蓝桥杯省赛C&C++ 研究生组
    十二届省赛题第十二届蓝桥杯省赛C&C++研究生组-卡片第十二届蓝桥杯省赛C&C++研究生组-直线第十二届蓝桥杯省赛C&C++研究生组-货物摆放第十二届蓝桥杯省赛C&C++研究生组-路径第十二届蓝桥杯省赛C&C++研究生组-时间显示第十二届蓝桥杯省赛C&C++研究生组-砝码称重......
  • [暴力题解系列]2023年蓝桥杯-整数删除(30分)
    这题暴力最多30分,但是30分也是分,做暴力的人不能贪心,拿到分就是赚了。​ 这题核心烦人点在于他数据分层断崖,就只有前3个点能做到稳过。用的思路就是链表,但不是用指针存的,而是用数组下标为标记存的,只是我觉得因为这样好写一些。链表方便修改左右连接位置,所以越到后面就越能省下查询......
  • 【算法双周赛】蓝桥杯【小白赛】
    坤星球【算法赛】问题描述坤星球是一颗十万光年之外的星球,相比于地球的时间流逝它的时间流逝更加缓慢,坤星球1年等于地球2.5年。现在问你,2024坤年等于地球多少年?注意:答案输出阿拉伯数字,不能为浮点数。输入格式本题为填空题,无需输入即可作答。输出格式输出一个数......
  • 蓝桥杯2017年第八届真题-分巧克力(二分算法)
    题目描述儿童节那天有K位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。小明一共有N块巧克力,其中第i块是HixWi的方格组成的长方形。为了公平起见,小明需要从这N块巧克力中切出K块巧克力分给小朋友们。切出的巧克力需要满足:1.形状是正方形,边长是整数2.大......