蓝桥杯省B组复习(小白篇)

个人经历与感受:

本周六也就是4月13号蓝桥杯竞赛,时间还剩下不到两天,我也是一名大一新生第一次接触这个竞赛,最开始只是单纯的抱着觉得算法有意思于是就开始接触算法,到此时此刻,我也发布了很多有关算法的文章,也是对于自己有些许的收货吧,我作为一个双非院校的学生,虽然个人对算法很喜欢,但是也是知道因为学历的原因不可能靠着算法吃饭,所以知识单纯的把算法的学习当成自己的一个兴趣爱好,也希望每一位看到我的博客可以学到些什么吧哈哈哈。

以下内容是我个人目前对于算法学习的模板,希望大家斟酌看看,只是个人对于算法的些许理解,不喜勿喷哈。


1.快速幂:

快速幂----递归方法-CSDN博客

快速幂用到了分冶的思想,模板很简单,推荐看看。


2.前缀和:

前缀和主要常见的是一维与二维,为了计算前缀和主要是利用递推的思想。我观察十三届十四届都有考到前缀和的知识点,所以可以适当看看。

前缀和(一维+二维)-CSDN博客

随后看完也可以上蓝桥云课搜索一下统计子矩阵这道题,二维前缀和的滑动窗口。


3.差分:

对于差分的理解,我认为要理解差分的性质,以及差分数组与原数组与前缀和数组的关系,我们可以通过差分数组找出每个相连数的关系,就比如如果差分数组内的数都等于0,那么其原数组的数肯定会相等,如果差分数组每个数都等于1,那么其原数组就会构成等差数列,其d=1。

差分(一维+二维)-CSDN博客

在我的专栏---习题库中习题可以see一下。


4.尺取法:

对于尺取法,其实就是遍历数组的一种方式,也就是滑动窗口

尺取法(指针移动)-CSDN博客


5.gcd与lcd:

最大公约数求法模板:(我比较喜欢记成bbaba

int gcd(int a,int b)
{return b ? gcd(b , a % b) : a;
}

 最小公倍数就是:

int lcd = a * b / gcd(a , b);

6.位运算:

2 ^ n -> 1 << n

2 * n -> n << 1

还有就是二进制压缩:

取出整数n在二进制表示下的第k位:(n >> k) & 1 (解析:将十进制转换二进制,并判断当前第k位是否为1,如果=1则返回真),通过这个一般可以进行选与不选的操作,eg:如果有五个灯泡,请你表示其开关的组合方案,那么我们就可以用1代表开灯0代表关灯,利用for循环枚举2^5也就是1 << 5,例题可以参考简单看看下面的这道题:Acwing95 --- 费解的开关-CSDN博客

实在记不住就是利用DFS的指数型枚举模板。


7.质数:

这里给大家带来的是埃氏筛法的模板:

 如何进行计算1-n内有多少素数----埃氏筛法-CSDN博客


 

8.dfs算法:

这个暴搜算法,我也是花了很长时间理解,但是就是感觉无非还是利用集合的方法进行分析,就拿这道题:Acwing165 --- 小猫爬山(DFS)-CSDN博客举个例子,这道题就很明显了,通过划分两个集合的角度进行分析。但是这个其实就是根据三个模板的基础上分析的:

(1)DFS(指数型枚举)-CSDN博客

(2)DFS(组合型枚举)_组合型枚举dfs-CSDN博客

(3)DFS(排列型枚举)-CSDN博客

这里给大家带来的习题是数字三角形这道题:(这道题更推荐用DP来做题)

dfs + 记忆化搜索_dfs加上记忆化-CSDN博客

还有就是上一届考的飞机降落,也是需要好好看看这种类型题的。

还有一种就是利用dfs走迷宫或遍历图(连通性判断):DFS算法详解 ---- 走迷宫-CSDN博客
 


9.bfs算法:

bfs我目前接触的能用到这个的也就是最短路径,如果N > 20那么就要用BFS来替换DFS。

这里我写的文章仅仅是BFS走迷宫:BFS与队列以及DFS与BFS的区别-CSDN博客

后序会继续更新的...


10.动态规划:

这个dp我是真服了,到现在也是一头雾水,那个李白打酒加强版也是刚刚弄明白(哭s),我也仅仅可以带来DP的一堆模板供大家参考一下,据我的分析线性DP问题大多数是建立在背包问题的基础上,这也是为什么那么多博主特别喜欢讲九大背包(这里推荐去Acwing学习闫式DP分析法,我的DFS也是在这个基础上精进点的,非常感谢y总),九大背包代码也是给大家总结出来了:

动态规划(DP)---- 背包代码-CSDN博客

线性DP问题还有就是建立在子序列模板的基础上进行解题:动态规划(DP)---- 子序列_子序列dp-CSDN博客

还有一堆什么区间DP我也是后来因为脑袋不够用,以至于仅仅学习了石子合并:动态规划(DP)---- 区间DP-CSDN博客

另外,如果想研究DP的话,我感觉吧先看y总进行分析,然后将九大背包整明白了,就去b站找代码随想录,Carl讲的还是很不错的,然后看完习题在回来刷Acwing的背包题。

专栏管理-CSDN创作中心


数据结构:

额,如果要是想看数据结构恐怕我无法给你太大帮助,仅能给你这篇文章参考一下:

二叉树习题 ---- 对称,翻转,最大or最小深度(无解析)-CSDN博客


啊,忘记了,还有二分模板也要看看,我对于二分不太明白,所以没有发一些题解,不好意思。


蓝桥杯日期问题 :

蓝桥杯很喜欢在填空题考日期问题,下面的博客是有关日期问题的模板。

蓝桥杯 --- 日期问题模板-CSDN博客


蓝桥杯复习(新手):

我感觉以我大一的远见把DFS整熟练了比较好,蓝桥杯根据我的学长所说就是暴力杯,掌握DFS暴力解题应该差不多吧哈哈哈,上面也就是我目前的视野与分析,仅仅作为参考就可以了,也希望有大佬能够在评论区发表自己的学习经历,感谢收看啦,祝愿各位能在第十五届蓝桥杯能有所收获,加油!!!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python怎么输出小数

先将整型转换成float型&#xff0c;再进行计算&#xff0c;结果就有小数了。 >>> a 10 >>> b 4 >>> c a/b >>> a,b,c (10, 4, 2) >>> a float(a) >>> d a/b >>> a,b,d (10.0, 4, 2.5) >>> 注意&…

在Linux中查看进程的优先级

在Linux中&#xff0c;可以通过多种方式查看进程的优先级。进程的优先级有两种类型&#xff1a;一个是“nice值”&#xff0c;它是用户空间的优先级&#xff0c;用于影响进程的调度&#xff1b;另一个是“实时优先级”&#xff0c;用于实时任务。以下是几种查看这些优先级的方法…

“AttributeError: module ‘numpy‘ has no attribute ‘float‘”的成功解决方法

问题描述 使用NumPy库时遇到&#xff1a;AttributeError: module numpy has no attribute float. 具体报错提示&#xff1a;np.float was a deprecated alias for the builtin float. To avoid this error in existing code, use float by itself. Doing this will not modify…

前端常用加密小技巧:encode, MD5,JSEncrypt

最近工作的时候&#xff0c;写了一个登录注册相关功能&#xff0c;用到了些加密的东西&#xff0c;特此分享~ 什么是 MD5 MD5&#xff08;Message Digest 5&#xff09;是一种加密算法&#xff0c;用于生成数字消息或数据的固定长度&#xff08;128 位&#xff09;散列值。它…

螺栓拧紧工具选择——SunTorque智能扭矩系统

智能扭矩系统-智能拧紧系统-扭矩自动控制系统-SunTorque 螺栓拧紧工具的选择遵循以下几点&#xff1a; &#xff08;1&#xff09;工艺要求精度。目前拧紧工具有两大类&#xff1a;一类是气动拧紧&#xff1b;另一类是电动拧紧&#xff0c;前者精度较后者精度低&#xff0c;发…

从HashMap了解二叉树、平衡二叉树、红黑树

前言 面试过程中&#xff0c;多多少少会问一点数据结构&#xff08;二叉树&#xff09;的问题&#xff0c;今天我们来复习一下二叉树的相关问题&#xff0c;文末总结。 1. 二叉树的由来 在 jdk1.8 之前&#xff0c;HashMap 的数据结构由「数组链表」组成&#xff0c;数组是 Ha…

免费插件集-illustrator插件-Ai插件-批量替换链接图

文章目录 1.介绍2.安装3.通过窗口>扩展>知了插件4.功能解释5.总结 1.介绍 本文介绍一款免费插件&#xff0c;加强illustrator使用人员工作效率&#xff0c;进行批量替换链接图。首先从下载网址下载这款插件 https://download.csdn.net/download/m0_67316550/87890501&am…

SAP NACE V1 销售订单打印配置

在项目上&#xff0c;经常会有一些打印的需求&#xff0c;实现的形式也是五花八门&#xff0c; 有通过写一个打印程序&#xff0c;集成所有打印的&#xff0c;也有通过配置NACE 来完成标准打印输出的 今天我们来记录一下&#xff0c;如何通过NACE 的配置一个标准销售订单的打…

【C++软件调试技术】C++软件开发维护过程中典型调试问题的解答与总结

目录 1、引发C软件异常的常见原因有哪些&#xff1f; 2、排查C软件异常的常用方法有哪些&#xff1f; 3、为什么要熟悉常见的异常内存地址&#xff1f; 4、调试时遇到调用IsBadReadPtr或者IsBadWritePtr引发的异常&#xff0c;该如何处理&#xff1f; 5、如何排查GDI对象泄…

滑动窗口最大值(力扣239)

解题思路&#xff1a;首先是用暴力循环来解&#xff0c;其次便是用队列来模拟这个滑动窗口&#xff0c;同时要自定义三个函数&#xff0c;一个pop用来弹出来保证滑动窗口的移动&#xff0c;同时我们把最大的放在队列口那里&#xff0c;当每次有更大的就把原来的挤出栈外&#x…

Newspaper Premium高级主题:新闻网站的最佳选择,快速、SEO优化与丰富功能

Newspaper Premium高级主题&#xff0c;作为WordPress平台上最畅销且时尚的新闻主题&#xff0c;以其卓越的性能和丰富的功能&#xff0c;深受新闻网站创作者的青睐。无论是新闻中心还是其他利基市场&#xff0c;这款主题都能完美应对&#xff0c;助力您快速搭建起一个引人注目…

openstack安装dashboard后登录网页显示404错误

1. 2.进入该目录vim /etc/httpd/conf.d/openstack-dashboard.conf 增加这一行 WSGIApplicationGroup %{GLOBAL} 重启httpd后就可以访问了

如何在Windows使用固定公网地址SSH远程访问本地Archcraft系统

文章目录 1. 本地SSH连接测试2. Archcraft安装Cpolar3. 配置 SSH公网地址4. 公网远程SSH连接小结 5. 固定SSH公网地址6. SSH固定地址连接 Archcraft是一个基于Arch Linux的Linux发行版&#xff0c;它使用最简主义的窗口管理器而不是功能齐全的桌面环境来提供图形化用户界面。 C…

推荐两款HTTP请求Mock利器

1、背景 在日常测试过程中或者研发开发过程中&#xff0c;目前接口暂时没有开发完成&#xff0c;测试人员又要提前介入接口测试中&#xff0c;测试人员不仅仅只是简单的编写测试用例&#xff0c;也可以通过一些mock的方法进行来提前根据接口测试的情况进行模拟返回接口的信息&…

赚钱游戏 2.0.1 版 (资源免费)

没有c编辑器的可以直接获取资源来玩 #include <iostream> #include <string> #include <windows.h> #include <conio.h> #include <fstream> #include <ctime> #include <time.h> #include <stdio.h> #include <cstring&g…

redis如何实现故障转移

Redis可以通过以下几种方式实现故障转移&#xff1a; Redis Sentinel&#xff1a;Redis Sentinel是一种自动故障转移解决方案&#xff0c;它由三个组件组成&#xff1a;一个主服务器、一个或多个从服务器和一个监控代理。监控代理负责监控主服务器&#xff0c;并在主服务器出现…

2024年认证杯数学建模C题思路+模型+代码

C题 云中的海盐 巴黎气候协定提出的目标是&#xff1a;在 2100 年前&#xff0c;把全球平均气温相对于工业 革命以前的气温升幅控制在不超过 2 摄氏度的水平&#xff0c;并为 1.5 摄氏度而努力。 但事实上&#xff0c;许多之前的研究已经指出&#xff0c;全球的碳排放以及…

微信小程序支付Java工具类

准备工作 微信支付开发前&#xff0c;需要先获取商家信息&#xff0c;包括商户号、AppId、证书和密钥&#xff1a; 获取商户号&#xff1a;微信商户平台 申请成为商户 > 提交资料 > 签署协议 > 获取商户号&#xff1b;获取AppID&#xff1a;微信公众平台 注册服务号…

使用SpeechRecognition和vosk处理ASR

SpeechRecognition可以支持多种模型语音转文字&#xff0c;感觉vosk还不错&#xff0c;使用起来也简单一些&#xff1b;百度也有PaddleSpeech&#xff0c;但是安装起来太麻烦&#xff0c;不是这个库版本不对就是那个库有问题&#xff0c;用起来不方便&#xff1b; 安装SpeechR…

【Git教程】(十)版本库之间的依赖 —— 项目与子模块之间的依赖、与子树之间的依赖 ~

Git教程 版本库之间的依赖 1️⃣ 与子模块之间的依赖2️⃣ 与子树之间的依赖&#x1f33e; 总结 在 Git 中&#xff0c;版本库是发行单位&#xff0c;代表的是一个版本&#xff0c;而分支或标签则只能被创建在版本库这个整体中。如果一个项目中包含了若干个子项目&#xff0c;…