当前位置: 首页 > news >正文

蓝桥杯学习大纲

(致酷德与热爱算法、编程的小伙伴们)

在查阅了相当多的资料后,发现没有那篇博客、文章很符合我们备战蓝桥杯的学习路径。所以,干脆自己整理一篇,欢迎大家补充!

一、题型分布:

题型分布为填空题、编程题等。 这些题型考察的知识点各不相同。

填空题考察细节理解和计算能力,而编程题则重点考察编程实现和算法理解能力。 在蓝桥杯真题中,填空题的数量相对较少,而编程题则是主要的考察形式。

其次,我们还可以根据真题的难度来进行分类。 蓝桥杯真题的难度可以分为三个等级:基础题、中等题和难题。

蓝桥杯C/C++题型预览(C++组与Java组题型相似)

二、蓝桥必备高频考点

我们以此为重点学习方向:

1. 基础算法

枚举模拟贪心递归分治
构造前缀和差分  

2. 搜索与排序

线性搜索二分法BFSDFS回溯剪枝
深搜优化记忆化搜索位运算冒泡排序归并排序
快速排序桶排序   

3. 动态规划

编辑距离最长不重复子串整数背包矩阵连乘最长公共子序列
最长公共子串最长上升子序列最长回文子序列最长回文子串回文分割
最大子段合最大正方形子矩阵滚动数组  
数位dp概率dp树形dp区间dp状压dp

4. 数学

GCD&LCM

素数判断素数生成分解质因数费马小定理
扩展欧几里得逆元高斯消元整数拆分模运算

5. 组合数学

容斥原理鸽巢定理乘法原理调和级数斐波那契数

6. 图论

邻接矩阵关联矩阵邻接表链式前向星有向无环图
判圈拓扑排序最短路径PrimKruskal
Dijkstra(堆优化)BellmanFloydSPFA 

7. 数据结构

数组链表队列先队列
块状链表LCA并查集线段树树状数组
二叉树哈希   

8. 几何

点和向量点积、叉积点和线的关系多边形面积、周长、体积

判点在多边形

多面体内外

坐标旋转   

 

思维导图:

思维导图能更好的理解学习方向

(本思维导图,由笔者与笔者一个姓马的伙伴合作整理)

三、学习模块

(基础算法思想+蓝桥真题练习)

基础算法篇:

1、枚举

 

 

(持续更新中)

四、蓝桥杯知识点总览

以下为蓝桥杯所有考点,可根据兴趣,借鉴补充题目。

1. 基础算法

  • 枚举:通过遍历所有可能的情况来解决问题。

  • 模拟:按照题目要求模拟实际操作过程。

  • 贪心:在每一步选择中都采取最优(即最有利)的选择,从而希望导致结果是全局最优解。

  • 递归:通过函数自己调用自己来解决问题。

  • 分治:将原问题分解为若干个规模更小但结构相同的子问题,递归解决这些子问题,然后将子问题的解合并得到原问题的解。

2. 搜索与排序

  • 子集生成:生成一个集合的所有子集。

  • 线性搜索:在数组或列表中从头到尾依次查找元素。

  • 二分法:在有序数组中通过折半查找的方式快速定位元素。

  • 三分法:将数组分成三部分进行查找或排序。

  • BFS(广度优先搜索):从根节点开始,逐层遍历所有节点。

  • DFS(深度优先搜索):从根节点开始,尽可能深地搜索树的分支。

  • 回溯剪枝:在深度优先搜索中,通过剪枝减少搜索空间,提高搜索效率。

  • 记忆化搜索:通过缓存中间结果,避免重复计算,提高搜索效率。

  • IDA*算法:一种迭代加深的 A* 算法,结合了深度优先搜索和 A* 算法的优点。

  • 位运算:利用位操作进行高效计算。

  • 按位压缩存储状态:通过位运算压缩存储状态,减少内存占用。

  • 选择排序:每次从未排序部分选择最小(或最大)元素放到已排序部分。

  • 冒泡排序:通过相邻元素之间的比较和交换来排序。

  • 归并排序:通过递归地将数组分成两半,排序后再合并。

  • 快速排序:通过选择一个基准元素,将数组分成两部分,一部分小于基准,另一部分大于基准,然后递归排序。

  • 堆排序:利用堆这种数据结构进行排序。

  • 计数排序:通过统计每个元素出现的次数来进行排序。

  • 桶排序:将元素分布到若干个桶中,每个桶再分别排序。

3. 动态规划

  • 编辑距离:计算两个字符串之间,将一个字符串转换成另一个字符串所需的最少编辑操作次数。

  • 最长不重复子串:在字符串中找到最长的不重复字符子串。

  • 整数背包:解决背包问题的一种方法,背包容量和物品重量都是整数。

  • 矩阵连乘:计算矩阵连乘的最小代价。

  • 最长公共子序列:在两个序列中找到最长的公共子序列。

  • 最长公共递增子序列:在两个序列中找到最长的公共递增子序列。

  • 最长上升子序列:在序列中找到最长的上升子序列。

  • 最长回文子序列:在字符串中找到最长的回文子序列。

  • 最长回文子串:在字符串中找到最长的回文子串。

  • 回文分割:将字符串分割成多个回文子串。

  • 最大子段和:在数组中找到连续子数组的最大和。

  • 最大正方形子矩阵:在矩阵中找到最大的正方形子矩阵。

  • 最长链对:在一组区间中找到最长的不重叠区间链。

  • 最大递增子序列和:在序列中找到递增子序列的最大和。

  • 滚动数组:通过使用较小的数组来减少空间复杂度。

  • 数位dp:通过动态规划解决与数字位数相关的问题。

  • 概率dp:通过动态规划解决概率相关的问题。

  • 树形dp:在树结构上进行动态规划。

  • 区间dp:在区间上进行动态规划。

  • 状压dp:通过状态压缩进行动态规划。

  • 插头dp:通过插头状态进行动态规划。

  • 斜率优化:通过斜率优化动态规划的转移方程。

  • 平行四边形优化:通过平行四边形性质优化动态规划的转移方程。

  • 单调队列优化:通过单调队列优化动态规划的转移方程。

  • 数据结构优化:通过数据结构优化动态规划的实现。

4. 数学

  • GCD&LCM:最大公约数和最小公倍数。

  • 素数判断:判断一个数是否为素数。

  • 素数生成:生成一定范围内的所有素数。

  • 分解质因数:将一个数分解为质因数的乘积。

  • 欧拉定理:计算欧拉函数的值。

  • 费马定理:费马小定理及其扩展。

  • 扩展欧几里得:求解线性同余方程。

  • 逆元:计算模逆元。

  • 随机素数测试和大数分解:通过随机测试判断素数,以及大数分解。

  • 高斯消元:通过高斯消元法解线性方程组。

  • 偶合方程:解偶合方程组。

  • 整数拆分:将一个整数拆分为多个整数的和。

  • 大步小步算法:解决某些特定的数学问题。

  • 中国剩余定理:解同余方程组。

  • 原根:计算原根。

  • 快速数论变换:通过快速数论变换进行高效计算。

  • 线性丢番图方程:解线性丢番图方程。

  • 模运算:进行模运算。

  • 卢卡斯定理:计算组合数的模。

  • 杜教筛:通过杜教筛法计算某些特定的数学问题。

  • 威尔逊定理:通过威尔逊定理判断素数。

  • 米勒罗宾随机素数测试:通过米勒罗宾测试判断素数。

  • 完全数:判断一个数是否为完全数。

  • 连分数:处理连分数。

5. 组合数学

  • 容斥原理:通过容斥原理计算集合的大小。

  • 鸽巢定理:通过鸽巢定理解决某些组合问题。

  • 乘法原理:通过乘法原理计算排列和组合的数量。

  • 斯特林数:计算斯特林数。

  • 卡特兰数:计算卡特兰数。

  • 斐波那契数:计算斐波那契数。

  • 幻方:生成幻方。

  • 莫比乌斯反演:通过莫比乌斯反演解决某些组合问题。

  • 母函数:通过母函数解决某些组合问题。

  • 调和级数:计算调和级数。

6. 图论

  • 邻接矩阵:通过邻接矩阵表示图。

  • 关联矩阵:通过关联矩阵表示图。

  • 邻接表:通过邻接表表示图。

  • 链式前向星:通过链式前向星表示图。

  • 有向无环图:处理有向无环图。

  • 欧拉图:判断图是否为欧拉图。

  • 判圈:判断图中是否存在环。

  • 割点:找到图中的割点。

  • 割边:找到图中的割边。

  • :找到图中的桥。

  • 双连通分量:找到图中的双连通分量。

  • 强连通分量:找到图中的强连通分量。

  • 有向图的强连通分量:找到有向图中的强连通分量。

  • 拓扑排序:对有向无环图进行拓扑排序。

  • 二分图判定:判断图是否为二分图。

  • 最短路径:计算图中的最短路径。

  • 连通分量:找到图中的连通分量。

  • 次小生成树:找到图中的次小生成树。

  • 曼哈顿最小生成树:找到曼哈顿距离下的最小生成树。

  • Dijkstra(堆优化):通过堆优化的 Dijkstra 算法计算最短路径。

  • Bellman:通过 Bellman-Ford 算法计算最短路径。

  • Floyd:通过 Floyd-Warshall 算法计算最短路径。

  • 差分约束:通过差分约束解决某些问题。

  • SPFA:通过 SPFA 算法计算最短路径。

  • 最小费用最大流:计算图中的最小费用最大流。

  • 二分图匹配:在二分图中找到最大匹配。

  • 欧拉路:找到图中的欧拉路。

7. 数据结构

  • 数组:基本的数据结构,用于存储和访问数据。

  • 链表:通过节点链接存储数据。

  • :后进先出的数据结构。

  • 队列:先进先出的数据结构。

  • 先队列:优先队列,用于存储和访问数据。

  • 双端队列:可以在两端进行插入和删除操作的数据结构。

  • 块状链表:通过块状结构优化链表的访问。

  • :通过堆结构存储和访问数据。

  • 哈希:通过哈希表存储和访问数据。

  • LCA:通过 LCA 算法解决某些树结构问题。

  • 跳跃表:通过跳跃表优化链表的访问。

  • 并查集:通过并查集解决某些集合问题。

  • 字典树:通过字典树存储和访问字符串数据。

  • 线段树:通过线段树解决区间查询和更新问题。

  • 树状数组:通过树状数组解决某些数组问题。

  • 莫队算法:通过莫队算法解决某些数组问题。

  • 平衡二叉树:通过平衡二叉树存储和访问数据。

  • 二叉搜索树:通过二叉搜索树存储和访问数据。

  • Treap树:通过 Treap 树存储和访问数据。

  • 二叉树:基本的树结构。

  • 笛卡尔树:通过笛卡尔树解决某些数组问题。

  • 划分树:通过划分树解决某些数组问题。

  • 表达式树:通过表达式树解决某些表达式问题。

  • 替罪羊树:通过替罪羊树解决某些树结构问题。

  • 伸展树:通过伸展树解决某些树结构问题。

  • 动态树:通过动态树解决某些树结构问题。

  • 左偏堆:通过左偏堆解决某些堆问题。

  • 可并堆:通过可并堆解决某些堆问题。

  • 主席树:通过主席树解决某些树结构问题。

  • 树链剖分:通过树链剖分解决某些树结构问题。

  • KD树:通过 KD 树解决某些空间问题。

  • 树套树:通过树套树解决某些树结构问题。

  • FHQ_Treap:通过 FHQ_Treap 解决某些树结构问题。

8. 几何

  • 点和向量:处理点和向量的基本操作。

  • 点积、叉积:计算点积和叉积。

  • 点和线的关系:判断点和线的位置关系。

  • 多边形:处理多边形的基本操作。

  • 三角形内心、外心、重心、垂心:计算三角形的内心、外心、重心和垂心。

  • 费马点:计算费马点。

  • 面积、周长、体积:计算几何图形的面积、周长和体积。

  • 判点在多边形内外:判断点是否在多边形内部或外部。

  • 三角剖分:对多边形进行三角剖分。

  • 梯形剖分:对多边形进行梯形剖分。

  • 多边形重心:计算多边形的重心。

  • 多边形切割:对多边形进行切割操作。

  • 多面体体积:计算多面体的体积。

  • 坐标旋转:对坐标进行旋转操作。

  • 凸包:计算点集的凸包。

  • 最近点对:找到点集中的最近点对。

  • 旋转卡壳:通过旋转卡壳算法解决某些几何问题。

  • 半平面交:计算半平面的交集。

  • 最小圆覆盖:找到覆盖点集的最小圆。

  • 三维点和向量:处理三维点和向量的基本操作。

  • 三维点积&叉积:计算三维点积和叉积。

  • 最小球覆盖:找到覆盖点集的最小球。

  • 三维凸包:计算三维点集的凸包。


 


指导思想:

农村包围城市,武装夺取政权”,教员的这句话太有指导含义了,大概意思就是星星之火可以燎原。从简单题开始做,不要好高骛远!当量变引起质变那一刻,蓝桥杯必能拿下!

 

 

相关文章:

蓝桥杯学习大纲

(致酷德与热爱算法、编程的小伙伴们) 在查阅了相当多的资料后,发现没有那篇博客、文章很符合我们备战蓝桥杯的学习路径。所以,干脆自己整理一篇,欢迎大家补充! 一、题型分布: 题型分布为填空…...

VSCode ssh远程连接内网服务器(不能上网的内网环境的Linux服务器)的终极解决方案

VSCode ssh远程连接内网服务器(不能上网的内网环境的Linux服务器) 离线下载vscode-server并安装: 如果远程端不能联网可以下载包离线安装,下载 vscode-server 的 url 需要和 vscode 客户端版本的 commit-id 对应.通过 vscode 面板的帮助->关于可以获…...

【多模态处理篇五】【DeepSeek文档解析:PDF/Word智能处理引擎】

你知道吗?全球每天产生的PDF文档超过10亿份,但90%的上班族还在用复制粘贴的笨办法处理文档!DeepSeek文档解析引擎就像给你的电脑装上了"文档翻译官",能把PDF/Word里的文字、表格、公式甚至排版样式都变成AI能理解的"语言"。举个真实场景:法务小姐姐用…...

STM32-心知天气项目

一、项目需求 使用 ESP8266 通过 HTTP 获取天气数据(心知天气),并显示在 OLED 屏幕上。 按键 1 :循环切换今天 / 明天 / 后天天气数据; 按键 2 :更新天气。 二、项目框图 三、cjson作用 https://gi…...

cs106x-lecture14(Autumn 2017)-SPL实现

打卡cs106x(Autumn 2017)-lecture14 (以下皆使用SPL实现,非STL库,后续课程结束会使用STL实现) 1、min Write a function named min that accepts a pointer to a ListNode representing the front of a linked list. Your function should return the …...

基于STM32的智能家居语音系统(单片机毕设)

前言 源代码下载链接: https://download.csdn.net/download/m0_74712453/90071680 需要实物的可以私信博主或者在文章最下方添加好友。 目录 一、项目介绍和演示视频 二、硬件实现 1. 材料材料 2. 原理图和PCB 三、软件实现 1. 代码解析 1.1 main函数 1.2…...

ASP.NET Core 简单文件上传

使用异步 JavaScript 和 XML(AJAX)进行简单的文件上传;用 C# 编写的服务器端代码。 使用AJAX和ASP.NET Core MVC上传文件再简单不过了。这不依赖于jQuery。此代码允许上传多个文件,并与 .NET Core 3.1、.NET 6和.NET 8兼容。 如果…...

2502C++,C++继承的多态性

构 A{单 向量<串>记;元<类 T>静 空 ff(串&a){清理(记);名向量(a,记);串 b{"---ff---"};打印(b);T::g();} };构 B:公 A{元<类 T>静 空 f(){串 a{"错误.txt"};ff<T>(a);} };构 C:公 A{元<类 T>静 空 f(){串 a{"a12.c…...

【机器学习】13.十大算法之一K均值算法(K-means)聚类详细讲解

【机器学习】13.十大算法之一K均值算法&#xff08;K-means&#xff09;聚类详细讲解 一摘要二个人简介三K-均值聚类&#xff08;K-means&#xff09;3.1-K均值算法的基本原理3.1.1- 聚类分析的目标3.1.2- K - means算法算法原理 四K-means聚类算法的收敛性五证明K均值算法的收…...

Spring扩展点之Mybatis整合模拟

Spring扩展点之Mybatis整合 单独使用MyBaitis模拟整合MyBatis到Spring 单独使用MyBaitis 通过配置文件生成sqlSessionFactory&#xff0c;用sqlSessionFactory开启session。通过session获取到mapper执行对应的sql。 InputStream inputStream Resources.getResourceAsStream(…...

.NET MVC实现电影票管理

.NET MVC&#xff08;Model-View-Controller&#xff09;是微软推出的基于 Model-View-Controller 设计模式的 Web 应用框架&#xff0c;属于 ASP.NET Core 的重要组成部分。其核心目标是通过清晰的分层架构实现 高内聚、低耦合 的开发模式&#xff0c;适用于构建可扩展的企业级…...

自媒体账号管理工具:创作罐头使用指南

创作罐头使用指南 1. 关于创作罐头 创作罐头是免费的一站式自媒体运营工具&#xff0c;支持各大自媒体平台多账号管理、全网爆文库、原创检测、视频一键分发、团队管理、各平台数据分析等功能。 2. 安装与注册 2.1. 如何安装创作罐头 从我们的官网下载并安装软件 www.czgts.…...

基于数据可视化+SpringBoot+安卓端的数字化OA公司管理平台设计和实现

博主介绍&#xff1a;硕士研究生&#xff0c;专注于信息化技术领域开发与管理&#xff0c;会使用java、标准c/c等开发语言&#xff0c;以及毕业项目实战✌ 从事基于java BS架构、CS架构、c/c 编程工作近16年&#xff0c;拥有近12年的管理工作经验&#xff0c;拥有较丰富的技术架…...

VSCode离线安装插件

最近在其他电脑设备上部署vscode环境出现问题&#xff0c;在vscode里直接安装插件失败&#xff0c;软件提示如下&#xff1a;&#xff08;此前已经用此方法安装过中文插件&#xff09; 这里我们选择手动下载&#xff0c;会自动在浏览器中跳转到该插件的下载链接并自动下载插件&…...

基于Hadoop的汽车大数据分析系统设计与实现【爬虫、数据预处理、MapReduce、echarts、Flask】

文章目录 有需要本项目的代码或文档以及全部资源&#xff0c;或者部署调试可以私信博主 项目介绍爬虫数据概览HIve表设计Cars Database Tables 1. cars_data2. annual_sales_volume3. brand_sales_volume4. city_sales_volume5. sales_volume_by_year_and_brand6. sales_distri…...

SHELL32!Shell_MergeMenus函数分析

SHELL32!Shell_MergeMenus函数分析 UINT Shell_MergeMenus( [in] HMENU hmDst, [in] HMENU hmSrc, UINT uInsert, UINT uIDAdjust, UINT uIDAdjustMax, ULONG uFlags ); 参数 [in] hmDst 类型&#xff1a; HMENU 要向其添加 hmSrc…...

华为云deepseek大模型平台:deepseek满血版

华为云硅基流动使用Chatbox接入DeepSeek-R1满血版671B 1、注册&#xff1a; 华为云deepseek大模型平台注册&#xff1a;https://cloud.siliconflow.cn/i/aDmz6aVN 说明&#xff1a;填写邀请码的话邀请和被邀请的账号都会获得2000 万 Tokens&#xff1b;2个帐号间不会与其他关联…...

AutoGen 技术博客系列 八:深入剖析 Swarm—— 智能体协作的新范式

本系列博文在掘金同步发布, 更多优质文章&#xff0c;请关注本人掘金账号&#xff1a; 人肉推土机的掘金账号 AutoGen系列一&#xff1a;基础介绍与入门教程 AutoGen系列二&#xff1a;深入自定义智能体 AutoGen系列三&#xff1a;内置智能体的应用与实战 AutoGen系列四&am…...

从零开始开发纯血鸿蒙应用之网页浏览

从零开始开发纯血鸿蒙应用 〇、前言一、优化菜单交互1、BuilderFunction.ets2、改造 PageTitleBar 二、网址打开1、方式选择1、使用浏览器打开2、内部打开2.1、声明权限2.2、封装 WebViewPage2.2.1、组件字段2.2.2、aboutToAppear2.2.3、onBackPress2.2.4、标题栏2.2.4、网页内…...

【大模型LLM】DeepSeek LLM Scaling Open-Source Language Models with Longtermism

深度探索LLM&#xff1a;以长期主义扩展开源语言模型 0.论文摘要 开源大语言模型&#xff08;LLMs&#xff09;的快速发展确实令人瞩目。然而&#xff0c;以往文献中描述的扩展规律得出了不同的结论&#xff0c;这为LLMs的扩展蒙上了一层阴影。我们深入研究了扩展规律&#…...

eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)

说明&#xff1a; 想象一下&#xff0c;你正在用eNSP搭建一个虚拟的网络世界&#xff0c;里面有虚拟的路由器、交换机、电脑&#xff08;PC&#xff09;等等。这些设备都在你的电脑里面“运行”&#xff0c;它们之间可以互相通信&#xff0c;就像一个封闭的小王国。 但是&#…...

SciencePlots——绘制论文中的图片

文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了&#xff1a;一行…...

23-Oracle 23 ai 区块链表(Blockchain Table)

小伙伴有没有在金融强合规的领域中遇见&#xff0c;必须要保持数据不可变&#xff0c;管理员都无法修改和留痕的要求。比如医疗的电子病历中&#xff0c;影像检查检验结果不可篡改行的&#xff0c;药品追溯过程中数据只可插入无法删除的特性需求&#xff1b;登录日志、修改日志…...

《Playwright:微软的自动化测试工具详解》

Playwright 简介:声明内容来自网络&#xff0c;将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具&#xff0c;支持 Chrome、Firefox、Safari 等主流浏览器&#xff0c;提供多语言 API&#xff08;Python、JavaScript、Java、.NET&#xff09;。它的特点包括&a…...

使用分级同态加密防御梯度泄漏

抽象 联邦学习 &#xff08;FL&#xff09; 支持跨分布式客户端进行协作模型训练&#xff0c;而无需共享原始数据&#xff0c;这使其成为在互联和自动驾驶汽车 &#xff08;CAV&#xff09; 等领域保护隐私的机器学习的一种很有前途的方法。然而&#xff0c;最近的研究表明&…...

什么是库存周转?如何用进销存系统提高库存周转率?

你可能听说过这样一句话&#xff1a; “利润不是赚出来的&#xff0c;是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业&#xff0c;很多企业看着销售不错&#xff0c;账上却没钱、利润也不见了&#xff0c;一翻库存才发现&#xff1a; 一堆卖不动的旧货…...

Spring Boot面试题精选汇总

&#x1f91f;致敬读者 &#x1f7e9;感谢阅读&#x1f7e6;笑口常开&#x1f7ea;生日快乐⬛早点睡觉 &#x1f4d8;博主相关 &#x1f7e7;博主信息&#x1f7e8;博客首页&#x1f7eb;专栏推荐&#x1f7e5;活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...

C++八股 —— 单例模式

文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全&#xff08;Thread Safety&#xff09; 线程安全是指在多线程环境下&#xff0c;某个函数、类或代码片段能够被多个线程同时调用时&#xff0c;仍能保证数据的一致性和逻辑的正确性&#xf…...

LeetCode - 199. 二叉树的右视图

题目 199. 二叉树的右视图 - 力扣&#xff08;LeetCode&#xff09; 思路 右视图是指从树的右侧看&#xff0c;对于每一层&#xff0c;只能看到该层最右边的节点。实现思路是&#xff1a; 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...

JavaScript基础-API 和 Web API

在学习JavaScript的过程中&#xff0c;理解API&#xff08;应用程序接口&#xff09;和Web API的概念及其应用是非常重要的。这些工具极大地扩展了JavaScript的功能&#xff0c;使得开发者能够创建出功能丰富、交互性强的Web应用程序。本文将深入探讨JavaScript中的API与Web AP…...