蓝桥杯第22场小白入门赛2~5题

这场比赛开打第二题就理解错意思了,还以为只能用3个消除和5个消除其中一种呢,结果就是死活a不过去,第三题根本读不懂题意,这蓝桥杯的题面我只能说出的是一言难尽啊。。第四题写出来一点但是后来知道是错了,不会正解,补的,第五题根本没思路,也是补的思路。


消灭卡片icon-default.png?t=O83Ahttps://www.lanqiao.cn/problems/20035/learning/?contest_id=222标签:暴力

这道题的意思是用最少次数来解决全部卡片,有一次消灭三个,和一个消灭5个两种方法,但是无论选择哪种方法,一定要保证最后没有剩余,也就是消灭必须是一次性的是正好消灭的,不能最后剩4个,然后选择用一次5个消灭的方法,这是不允许的。

思考思路就是尽可能选择用一次消灭5个的,这样使得最后次数最少,如果能整除就没有然后了,如果是余1,那就少用一次5连,变成剩六个然后两次三连,如果余2,就是少用两次五连,然后连着4个三连,以此类推,可以发现只要总数n是够的,总是可以被消灭的,不能被消灭的情况只会发生在n不够的情况里,详见代码。

#include <iostream>
using namespace std;
int t, n;
int main()
{cin >> t;while (t -- ){cin >> n;if (n < 5){if (n % 3 == 0 ) cout << 1 << endl;else cout << -1 << endl;continue;}if (n % 5 == 0 ) cout << n / 5 << endl;else if (n % 5 == 1 && n >= 6 ) cout << n / 5 - 1 + 2 << endl;else if (n % 5 == 2 && n >= 12) cout << n / 5 - 2 + 4 << endl;else if (n % 5 == 3) cout << n / 5 + 1 << endl;else if (n % 5 == 4 && n >= 9) cout << n / 5 - 1 + 3 << endl;else cout << -1 << endl;}return 0;
}

3.招募队员【算法赛】 - 蓝桥云课icon-default.png?t=O83Ahttps://www.lanqiao.cn/problems/20036/learning/?contest_id=222标签:前缀标记、数组

第三题招募队员,题面说的是需要选择连续区间【l,r】我以为的是一队五个人中选择【l,

r】区间,然后剩下的行也是这样选择,看最后能得到最多几个队员,但是与样例对不上。。就比如说选择2-4区间,然后第二行也这么选,看结果。后来看题解才发现是选择连续【l,r】是跨行的,不能间断的选择区间,然后该区间每一行都出现过1-5中任意数字的情况,比如说第一行出现过1,第二行也出现过,那么就连起来了,但是第三行没有出现,那么就是最多能选两个。是这样的,而且1-5的数字区间互不影响,并不是说前两行为了1而选择的区间,那么2也一定要选择该区间,每个数字都可以选择任意的连续的包含该数字的区间,求最多能选多少人,注意只有连续区间才能选人累加,不是连续区间要重新计算选人最大值。

#include <iostream>
using namespace std;
const int N = 1e5 + 10;
int a[N][6], n;
int main()
{cin >> n;for (int i = 1; i <= n; ++ i )for (int j = 1; j <= 5; ++ j ){int x; cin >> x;a[i][x] = 1;}for (int k = 1; k <= 5; ++ k ){int sum = 0, t = 0;for (int i = 1; i <= n; ++ i ){if (a[i][k] == 1 ) t ++;else t = 0;sum = max(sum, t);}cout << sum << ' ';}return 0;
}

这里给出的做法是,每一行在读入数字时候,就做上标记,标记是来标明该行是否存在1-5的数字,然后依次计算1-5按顺序计算,看每一行是否有这个数字的标记,然后有就累加,否则清空,最后取最大值输出即可。


4.能量晶石【算法赛】 - 蓝桥云课icon-default.png?t=O83Ahttps://www.lanqiao.cn/problems/20029/learning/?contest_id=222标签:思维、数学

题面含义要求找到最小去能量矿脉的次数,由于dp不熟,比赛时候我选择使用二分法来做,然后排序后判断,相邻数字插值,将这个累加在变量t上,之后的每一次相邻都累加t比较,看最后累加多少t,然后再和二分答案比较,后来模拟一下发现是错误的,有很多时候虽然只有一个数字和其他数字差1,其他数字都相等,但是仍然需要进行多次累加,我就想着模拟找规律,以为是规律题,但是也没做出来。

正解思维是正向求解十分困难,要逆着想,一般情况我们模拟肯定就是让最大的那个人出去采矿,然后把矿分给其他人,让其他人加1,逆着想就是其他人加1,相当于我减1,假设你是最大的和其他人只差1,那么需要你去采矿分给别人,那我们主动丢出去一个,不就能达到相等了吗?依据这个思路,我们把出去给别人采矿让其他人全部+1的行为,变成自我放弃掉一些矿石,我们找到最少拥有矿石数目是多少,然后其他的人依次减掉这些累加一起,就是需要出去的次数,因为其他人都丢了结果就是全部数目相等,而其他人出去采矿,让别人增加矿石,最后要达到的目的也是为了让矿石数目相等,所以理论上来讲,答案是一致的。

#include <iostream>
using namespace std;
const int N = 1e5 + 10;
int a[N];
int main()
{int n;int mina = 1e9 + 10;cin >> n;for (int i = 0; i < n; ++ i ){int x; cin >> x;a[i] = x;mina = min(mina, x);}long long ans = 0;for (int i = 0; i < n; ++ i ) ans += a[i] - mina;cout << ans << endl;return 0;
}

5.缺失的环节【算法赛】 - 蓝桥云课icon-default.png?t=O83Ahttps://www.lanqiao.cn/problems/20031/learning/?contest_id=222标签:数学、思维

这道题容易re或mle之处在于枚举字符串时,枚举出的数字可能很大,大到数组装不进去这些数字,经过分析可知,字符串最长为1e5,且根据样例找规律,当长度为3时,可能的答案有0、1、2、3、4、5、6,也就是最多到n*(n+1)/ 2,数列是等差数列,根据等差数列公式就是那个式子了。所以最多长度为1e5的字符串,最大产生数字大概就是10^10/2,差不多是几个亿,而2的34次幂差不多就能涵盖所有情况,但是为了避免不必要的麻烦我们多判一段,当子串枚举没超过40我们都存到容器里,记得要开longlong,先预处理完字串构成的数字后,从最小值0开始看容器是否能找到,这里容器我们用的set,不用数组因为数组遍历是on的,容器set的count是ologn的。

#include <iostream>
#include <set>
using namespace std;
string s;
int n;
typedef long long ll;
int main()
{cin >> n >> s;set<ll> num;for (int i = 0; i < n; ++ i ){ll t = 0;for (int j = i; j < n; ++ j ){if (j - i > 40) break;t = t * 2 + (s[j] - '0');num.insert(t);}}int ans = 0;while (num.count(ans)) ans ++;cout << ans << endl;return 0;
}

以上便是全部内容,补完来看其实没那么难,但是很多东西就是自己想不到,或许多刷一点就可以了吧。。。

制作不易,有帮助的话,请三连支持蟹蟹

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/20422.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

sagemaker中使用pytorch框架的DLC训练和部署cifar图像分类任务

参考资料 https://github.com/aws/amazon-sagemaker-examples/blob/main/sagemaker-python-sdk/pytorch_cnn_cifar10/pytorch_local_mode_cifar10.ipynbhttps://sagemaker.readthedocs.io/en/stable/frameworks/pytorch/using_pytorch.html 获取训练数据 # s3://zhaojiew-sa…

golang笔记8-函数

1. 基本函数 package mainimport "fmt"/*什么是函数&#xff1a;完成某一功能的程序指令的集合语法&#xff1a;func 函数名称(形参列表)(返回值类型列表){执行语句。。。返回值列表}注意事项&#xff1a;函数名&#xff1a;函数名首字母大写&#xff1a;可以被本包…

vite+vue3+ts编译vue组件后,编译产物中d.ts文件为空

一、前言 使用vue3vitets实现一个UI组件库&#xff0c;为了生成类型文件便于其他项目引用该组件库。根据推荐使用了vite-plugin-dts插件进行ts文件的生成 二、版本 组件版本vue ^3.5.12 vite ^5.4.10 vite-plugin-dts ^4.3.0 typescript ~5.6.2 三、问题描述 使用vitevi…

向量数据库FAISS之二:基础进阶版

基础 1.评价类型和距离 1.METRIC_L2 Faiss 使用了欧几里得 (L2) 距离的平方&#xff0c;避免了平方根。 这仍然与欧几里德距离一样单调&#xff0c;但如果需要精确距离&#xff0c;则需要结果的额外平方根。 2.METRIC_INNER_PRODUCT 这通常用于推荐系统中的最大内积搜索。…

家庭网络常识:猫与路由器

这张图大家应该不陌生——以前家庭网络的连接方式。 图1 家庭网络连接示意图 来说说猫/光猫&#xff1a; 先看看两者的图片。 图2 猫 图3 光猫 这个东西因为英文叫“modem”&#xff0c;类似中文的“猫”&#xff0c;所以简称“猫”。 猫和光猫的区别就是&#xff0c;一…

华三预赛学习笔记(每日编辑,复习完为止)

知识点分布 路由交换技术基础 计算机网络基本概念 计算机网络基本概念&#xff1a; 很多电脑和设备通过电线或无线信号连在一起&#xff0c;可以互相“说话”和“分享东西” 网络的主要形式和发展历程&#xff1a; 诞生阶段-最早的计算机网络是以单个计算机为中心的联机系统-终…

技术速递|Microsoft.Extensions.VectorData 预览版简介

作者&#xff1a;Luis Quintanilla - 项目经理 排版&#xff1a;Alan Wang 我们很高兴推出 Microsoft.Extensions.VectorData.Abstractions 库&#xff0c;该库现已提供预览版。 正如 Microsoft.Extensions.AI 库为使用 AI 服务提供了一个统一层一样&#xff0c;此包为 .NET 生…

第5章-总体设计 5.3 硬件架构设计

5.3 硬件架构设计 1.哪些类型的产品需要架构设计&#xff1f;2.硬件架构师到底做什么&#xff1f;&#xff08;1&#xff09;理解需求和业务模型的情况。&#xff08;2&#xff09;背板设计&#xff0c;既需要考虑业务数据交换能力&#xff0c;也需要考虑子模块的管理监控能力。…

图像/文字差异类型验证码识别 无需训练

某像差异在个别全家桶验证方便有使用&#xff0c;对于这种验证码类型如下&#xff1a; 首先还是目标检测&#xff0c;直接用 dddd 自带的detection 就足够了。 特征提取 其次经过观察&#xff0c;差异答案与其他三个无非就是颜色&#xff0c;字体&#xff0c;方向&#xff0c…

新华三H3CNE网络工程师认证—生成树协议

新华三H3CNE网络工程师认证本节讲解生成树协议&#xff0c;关于生成树协议&#xff0c;提到生成树协议&#xff0c;这个时候不得不提到另外一个概念叫二层环路。二层环路导致的原因是交换机的转发机制导致的&#xff0c;本博客将分析这个机制导致这个问题的原因。 文章目录 一…

使用ai工具探究论文的工作流(阅读一个EEG的cnn-lstm文献(2021))

文章目录 李沐老师的方法论第一遍&#xff1a;做海选第二遍&#xff1a;对相关论文进行精选第三遍&#xff1a;重点研读 AI是怎么分析一个文章的标题&#xff08;Title&#xff09;和关键词摘要&#xff08;Abstract&#xff09;分析引言&#xff08;Introduction&#xff09;梳…

Scala的Array习题

答案&#xff1a;CBBBB import scala.collection.mutable.ArrayBuffer //1 case class DreamItem(content:String,var isDone:Boolean,deadline:String,var order:Int) object p5 {def main(args: Array[String]): Unit {//2val dreamListArrayBuffer[DreamItem]()//梦想清单/…

深度学习的实践层面

深度学习的实践层面 设计机器学习应用 在训练神经网络时&#xff0c;超参数选择是一个高度迭代的过程。我们通常从一个初步的模型框架开始&#xff0c;进行编码、运行和测试&#xff0c;通过不断调整优化模型。 数据集一般划分为三部分&#xff1a;训练集、验证集和测试集。常…

TPU-MLIR 总览

TPU-MLIR 总览 &#x1f4a1;深度学习编译器可以实现一次性代码开发和重用各种计算能力处理器的目标 ## 项目简介&#xff1a; TPU-MLIR 是 AI 芯片的 TPU 编译器工程。该工程提供了一套完整的工具链, 其可以将不同框架下预训练的神经网络, 转化为可以在算能 TPU 上高效运算的…

Vue3 + Vite 项目引入 Typescript

文章目录 一、TypeScript简介二、TypeScript 开发环境搭建三、编译方式1. 自动编译单个文件2. 自动编译整个项目 四、配置文件1. compilerOptions基本选项严格模式相关选项&#xff08;启用 strict 后自动包含这些&#xff09;模块与导入相关选项 2. include 和 excludeinclude…

苹果MacOS 调用自编译opencv的Dylib显示一个图片程序的步骤

前言 为了测试自编译的opencv库是否能在苹果MacOS系统下使用&#xff0c;需要写一个简单的测试程序。这个测试程序写起来不难&#xff0c;麻烦的是一些配置。网上的办法很多&#xff0c;里面因为版本的问题有一些坑。特此写了一个建立步骤&#xff0c;供大家参考。 1、新建一个…

AI赋能:高职院校实验实训教学如何拥抱人工智能浪潮?

随着信息技术的迅猛发展&#xff0c;人工智能技术已成为推动社会各行业转型升级的核心力量。它不仅在提升生产效率、优化管理流程、提高服务质量方面发挥着关键作用&#xff0c;也深刻影响着高职教育的专业发展和课程教学内容的改革。作为培养专业技术技能人才的摇篮&#xff0…

消费者行为学领域的顶级期刊

一、期刊 1.Journal of Consumer Research 2.Journal of Consumer Psychology 3.Journal of Research in Interactive Marketing 4.Journal of the Academy of Marketing Science 5.Tourism Management 下面是我整理的一个excel&#xff0c;大家按需丝我获取。 二、期刊&z…

STM32单片机CAN总线汽车线路通断检测-分享

目录 目录 前言 一、本设计主要实现哪些很“开门”功能&#xff1f; 二、电路设计原理图 1.电路图采用Altium Designer进行设计&#xff1a; 2.实物展示图片 三、程序源代码设计 四、获取资料内容 前言 随着汽车电子技术的不断发展&#xff0c;车辆通信接口在汽车电子控…

Zmap+python脚本+burp实现自动化Fuzzing测试

声明 学习视频来自 B 站UP主泷羽sec&#xff0c;如涉及侵权马上删除文章。 笔记的只是方便各位师傅学习知识&#xff0c;以下网站只涉及学习内容&#xff0c;其他的都与本人无关&#xff0c;切莫逾越法律红线&#xff0c;否则后果自负。 ✍&#x1f3fb;作者简介&#xff1a;致…