算法竞赛入门经典 每日一题(锁)

蓝桥杯国赛攻略:从每日一题到体系化备赛,突破算法竞赛瓶颈 算法竞赛是检验编程与算法能力的重要途径,其核心在于通过系统训练提升问题解决思维。理解算法原理与数据结构是基础,而高效的学习方法能显著提升训练价值。在工程实践中,盲目追求刷题数量往往陷入瓶颈,关键在于建立深度思考与知识体系。针对蓝桥杯等赛事,备赛者常面临解题流于表面、知识结构单一、缺乏归纳整合等典型误区。有效的破局之道在于将“每日一题”从孤立任务升级为系统训练体系的基石,通过专题轮换、深度复盘与模拟实战,实现从代码实现到数学思维、数据结构应用及应试策略的全方位能力构建。这种方法论强调质量优于数量,最终将训练成 阅读详情

锁

题号:NC14732
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 131072K,其他语言262144K
64bit IO Format: %lld

题目描述 

106号房间共有n名居民, 他们每人有一个重要度。房间的门上可以装若干把锁。假设共有k把锁,命名为1到k。每把锁有一种对应的钥匙,也用1到k表示。钥匙可以复制并发给任意多个居民。每个106房间的居民持有若干钥匙,也就是1到k的一个子集。如果几名居民的钥匙的并集是1到k,即他们拥有全部锁的对应钥匙,他们都在场时就能打开房门。新的陆战协定规定,一组居民都在场时能打开房门当且仅当他们的重要度加起来至少为m。问至少需要给106号房间装多少把锁。即,求最小的k,使得可以适当地给居民们每人若干钥匙(即一个1到k的子集),使得任意重要度之和小于m的居民集合持有的钥匙的并集不是1到k,而任意重要度之和大于等于m的居民集合持有的钥匙的并集是1到k。 

输入描述:

第一行两个整数n和m,0<n<21,0<m<1000000001。
第二行n个整数表示居民们的重要度。
重要度在[1,1000000000]之间。

输出描述:

一个整数表示最少需要多少把锁。

示例1

输入

复制

4 3
1 1 1 1

输出

复制

6

说明

106号房共有4名居民,只有3人在场时才能打开门。这时共需6把锁。

这道题其实重要的是思想吧!

题意就是当没有最后一个人的时候不满足m

填上最后一个人就满足了!

那么我们可以拿状压来枚举所有情况!

const int MAX=100010;
ll  dp[1<<21];
ll  a[MAX];
int main(){
    int n,m;
    cin>>n>>m;
    for(int i=0;i<n;i++)
        cin>>a[i];
    int ans=0;
    for(int i=0;i<(1<<n);i++){
        int flag=1;
        for(int j=0;j<n;j++){
            if((i&(1<<j))==0)
            {
                dp[i|(1<<j)]=dp[i]+a[j];
                if(dp[i|(1<<j)]<m)
                    flag=0;
            }
        }
        if(flag&&dp[i]<m)
            ans++;
    }
    cout<<ans;
}

Java算法进阶:蓝桥杯每日一题训练体系与国赛核心考点精讲 算法是计算机科学的核心基础,其本质是通过一系列指令高效解决特定问题的计算模型。理解算法原理,关键在于掌握数据结构与逻辑控制,这直接决定了程序的性能与可靠性。从工程实践角度看,算法能力是开发者解决复杂问题、优化系统性能的核心竞争力,广泛应用于搜索引擎、推荐系统、大数据处理等场景。对于Java开发者而言,系统化训练是提升算法实战能力的关键。本文聚焦于通过结构化、目标导向的刻意练习路径,帮助学习者攻克算法学习瓶颈。项目以蓝桥杯和国赛为训练目标,深入剖析了动态规划、搜索算法等核心考点,并提供了高效的五步训练法,旨在 阅读详情

相关推荐

为什么选择我们:《力扣每日一题》专栏介绍

力扣(LeetCode)是一个国际知名的在线编程平台,致力于提供高质量的算法题目和在线评测系统,是算法竞赛和求职面试的重要参考资源。力扣平台上拥有海量的算法题目,包括基础的数据结构和算法、高级的动态规划、图论、字符串算法等等,涵盖各种难度级别和类型的题目,可以帮助用户全面提升算法能力和解题能力。力扣平台的算法题目都是由真实的面试官或者算法专家出题,题目质量高、难度适中,具有很高的参考价值。用户可以在平台上挑战各种难度级别和类型的题目,学习和掌握各种算法思想和代码实现细节。

程序员小火龙的知识分享 478

(惠看懂的)牛客-锁(状压dp)

题目链接 106号房间共有n名居民, 他们每人有一个重要度。房间的门上可以装若干把锁。假设共有k把锁,命名为1到k。每把锁有一种对应的钥匙,也用1到k表示。钥匙可以复制并发给任意多个居民。每个106房间的居民持有若干钥匙,也就是1到k的一个子集。如果几名居民的钥匙的并集是1到k,即他们拥有全部锁的对应钥匙,他们都在场时就能打开房门。新的陆战协定规定,一组居民都在场时能打开房门当且仅当他们的重要度加...

jahup的博客 1050

避坑指南:MTK平台Widevine L1密钥安装全流程详解(含SP META工具使用与Log分析)

本文详细解析了MTK平台实现Widevine L1认证的全流程,涵盖密钥申请、格式转换、安全烧录等关键步骤,特别针对Trustonic TEE环境下的SP META工具使用与日志分析提供实用指南。帮助开发者规避常见错误,确保DRM密钥安全部署,满足高端内容保护需求。

weixin_27219587的博客 476

Wannafly挑战赛6 D-锁

题目链接: https://www.nowcoder.com/acm/contest/37/D 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 131072K,其他语言262144K 64bit IO Format: %lld 题目描述 106号房间共有n名居民, 他们每人有一个重要度。房间的门上可以装若干把锁。假设共有k把锁,命名为1到k。每把锁有一种对应的钥匙,也用1

yyy_3y的博客 461

Arco Design Pro PC端商家后台框架 | Axure高保真原型库

摘要:本Axure原型设计方案基于字节跳动ArcoDesignPro规范,提供企业级后台快速搭建方案。包含动态表格、表单验证等核心组件,采用中继器驱动设计,支持响应式布局。方案覆盖80%后台常用交互,可节省60%原型制作时间,配套完整设计文档和组件库,实现原型到开发的高效衔接。特别适用于电商、SaaS等后台系统开发,支持权限管理、数据分析等场景,显著提升团队协作效率。

招风的黑耳优快云 3971

UDS $27服务DLL文件生成

UDS 27算法 DLL文件生成

hkj8808的博客 1282

锁(NC14732)状压dp

链接 Click here to see the original question 题目描述 106号房间共有n名居民, 他们每人有一个重要度。房间的门上可以装若干把锁。假设共有k把锁,命名为1到k。每把锁有一种对应的钥匙,也用1到k表示。钥匙可以复制并发给任意多个居民。每个106房间的居民持有若干钥匙,也就是1到k的一个子集。如果几名居民的钥匙的并集是1到k,即他们拥有全部锁的对应钥匙,他们都在场时就能打开房门。新的陆战协定规定,一组居民都在场时能打开房门当且仅当他们的重要度加起来至少为m。问至少需要给

Snowzhao的博客 681

国产大模型高考横评:数学推理与教育落地能力实测

大模型能力评估正从开放榜单转向封闭任务的确定性验证,高考作为强逻辑、低容错、高精度的标准化考试,成为检验模型真实推理能力的理想标尺。其核心在于考察知识覆盖、步骤完整性、单位敏感性与教学对齐度,而非单纯答案正确率。数学解答题尤其凸显模型在前提校验、条件枚举与过程可控性上的差异,反映出训练数据与教育语料深度耦合带来的工程化优势。该范式已延伸至语文语感建模、英语表达习惯适配及理综跨学科缝合等场景,为智能阅卷、精准答疑和教培系统集成提供可复现、可解释、可部署的技术依据。

weixin_30436581的博客 287

Wannafly挑战赛6 A(二分)B(dfs)C(公式推导)D(思维)E(技巧)

A题: 题目描述 多次查询[l,r]范围内的完全平方数个数 定义整数x为完全平方数当且仅当可以找到整数y使得y*y=x 输入描述: 第一行一个数n表示查询次数 之后n行每行两个数l,r 输出描述: 对于每个查询,输出一个数表示答案 示例1 输入 5 1 3 1 4 2 4 4 4 1 1000000000 输出 1 2 1

转角的守望 792

YOLOv11损失函数进阶:融合SmoothL1与FocalLoss,让检测精度再涨10%的实战教程

在YOLOv11的这里的beta参数控制“L1与L2的过渡阈值”,默认设为1.0即可兼容多数场景。同样在# 计算动态alpha(基于类别样本数,需提前统计self.class_counts)# 交叉熵基础# FocalLoss权重else:使用前需统计数据集的(每个类别的样本数),并传入的alpha参数。损失函数是YOLOv11精度的“灵魂”——SmoothL1让边界框回归“稳、准、狠”,改进FocalLoss让类别分类“雨露均沾”。从代码改造到实战落地,本教程已为你搭建了一条精度跃升的路径。

m0_64661770的博客 213

PCL:SAC-IA+ICP配准

【代码】SAC-IA+ICP配准。

m0_71596228的博客 1018

牛客网好题

把以前比赛时候没写的题补一补,看看哪个能写。 wannafly挑战赛6D-锁 https://www.nowcoder.com/acm/contest/37/D #include &lt;iostream&gt; #include &lt;cstdio&gt; #include &lt;bits/stdc++.h&gt; /* 今天下午把 比赛打完之后,歇一会,把蓝桥杯的也打一打。 其...

天与云与山与水 745

ArXiv 2026 即插即用 | Transformer篇 | WeightFormer:告别二次复杂度!无注意力的线性时间 Transformer,泛化能力拉满

WeightFormer是一种创新的动态Transformer架构,其核心创新在于通过双动态算子(空间自适应动态卷积和双边激活动态线性)实现输入自适应的特征提取。该模块采用静态-动态权重融合机制和低秩预测技术,在仅增加5%参数量的情况下显著提升模型泛化能力。相比传统Transformer,WeightFormer在ImageNet-1K上提升2.3%精度,小样本任务提升12%,同时保持线性计算复杂度。模块可直接替换标准Transformer块,特别适合轻量级视觉任务,实现了精度与效率的平衡。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 128

《算法竞赛·快冲300题》每日一题:“点灯游戏”

思维

罗勇军的博客 3744

睿抗机器人魔力元宝在完成任务过程中如何使机械臂先到达白色盒子上方而不是先到达工作台?

🏆 本文收录于《全栈Bug调优(实战版)》专栏,致力于分享我在项目实战过程中遇到的各类Bug及其原因,并提供切实有效的解决方案。无论你是初学者还是经验丰富的开发者,本文将为你指引出一条更高效的Bug修复之路,助你早日登顶,迈向财富自由的梦想🚀!同时,欢迎大家关注、收藏、订阅本专栏,更多精彩内容正在持续更新中。让我们一起进步,Up!Up!Up!    备注: 部分问题/难题源自互联网,经过精心筛选和整理,结合数位十多年大厂实战经验资深大佬经验总结所得,数条可行方案供所需之人参考。

**My Coding Family** 1378

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

LeetCode每日一题打卡组队监督!刷题群!

我相信来看我博客的大部分人都是通过LeetCode刷题过来的。最近发现LeetCode中文网站出了“每日一题”的活动,出于自己的折腾心理,我准备建群组织大家共同刷题。 在这个链接可以看到LeetCode的官方活动地址:https://leetcode-cn.com/circle/article/9EZfRE/ LeetCode的官方活动虽然每天更新题目,但是大家还是只能凭自制力去做题。由于缺少监...

负雪明烛 6975

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

《算法竞赛·快冲300题》每日一题:“推箱子”

推箱子

罗勇军的博客 3553

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

[每日一题] 0. 每日一题题解汇总

每日一题 锻炼编程能力,每日尽量至少更新一道算法编程题,其题目代码部分已经同步到我的优快云:Y-puyu的优快云博客,博客内主要更新学习C/C++、Linux学习内容,及数学建模相关知识,希望能够及时记录学习成果,便于回顾复习,也能够与大家一起交流进步。 每日一题CSND博客详解链接: 题目简述 提交日期 1. 组队竞赛—编程题(贪心、排序) 20190905 2. 删除公...

Y-puyu 的博客 1972

Acwing 蓝桥杯集训·每日一题 2023 记录

Acwing y总的每日一题。

m0_61667323的博客 744

【算法竞赛】刚入门要怎么准备?这一篇足够了 :D

初学者要怎么准备算法竞赛呢?

Reeuse的博客 982

《算法竞赛·快冲300题》每日一题:“黑白配”

概率DP

罗勇军的博客 2004

【C语言蓝桥杯每日一题】—— 货物摆放

C语言手撕蓝桥杯题目,和你一起杯赛蓝桥杯~

小梦的博客 3441

【每日一题】组队竞赛(贪心算法)

组队竞赛 文章目录组队竞赛1、题目描述2、输入描述3、输出描述4、示例5、分析6、代码7、总结7.1 循环输入7.2 vecror7.3 贪心算法 1、题目描述 链接:牛客网   牛牛举办了一次编程比赛,参加比赛的有3*n个选手,每个选手都有一个水平值a_i.现在要将这些选手进行组队,一共组成n个队伍,即每个队伍3人.牛牛发现队伍的水平值等于该队伍队员中第二高水平值。 例如:    一个队伍三个队员的水平值分别是3,3,3.那么队伍的水平值是3   一个队伍三个队员的水平值分别是3,2,3.那么队伍的水平值

Sunnyside_ 1290

【比赛】算法设计与编程挑战赛——每日一题

很多题目都是洛谷上有的,可以自己去搜索 【参考:题目列表 - 洛谷 | 计算机科学教育新生态】 在每日一题中,我会给出题目的算法标签以供同学们自学。 每日一题的难度会越来越大,会尝试覆盖尽可能多的算法竞赛高频考点。给出的题目均在vj.openjudge.com可以找到,对应的视频题解可以在往年真题或者基础班课程中看到(收费)。 每日一题 1.3.2 自然数拆分问题 【参考:P2404 自然数的拆分问题 - 洛谷 | 计算机科学教育新生态】 【参考:SaikrVj | 1.3.2 自然数拆分问题】 1月18日

myaijarvis notebook 1073

【C语言蓝桥杯每日一题】—— 单词分析

C语言手撕蓝桥杯题目,和你一起杯赛蓝桥杯~

小梦的博客 7286

[每日一题]0:每日一题汇总

每日一题 锻炼编程能力,每日尽量至少更新一道算法编程题,博客内主要更新学习C/C++、以及Linux的相关知识点,希望在记录学习过程的同时也能方便遇到相同问题的人,方便回顾复习,也希望能够与大家一起交流进步,为开源社区做贡献。 汇总如下 题目简述 提交日期 1:Fibonacci数列 2020-01-20 2:在杨氏矩阵中,查询是否存在该整数 2020-01-26 3:替换.........

AngelDg的博客 2831
上一篇: 算法竞赛入门经典 每日一题(UVa10966)------你值得尝试
下一篇: 算法竞赛入门经典 每日一题(郊区春游)
郭晋龙
博客等级 码龄6年 940粉丝 449原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郭晋龙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值