【2025蓝桥杯】赛前2小时考点梳理C++版

【2025蓝桥杯】赛前2小时考点梳理

1. 🧩 STL(优先级最高)

核心容器/函数

  • vector
    push_back() / pop_back() / size()
  • string
    substr(pos, len) / find(str) / +=
  • queue
    push() / front() / pop()
  • priority_queue
    默认大根堆,小根堆:priority_queue<int, vector<int>, greater<int>>
  • sort(v.begin(), v.end())
    自定义排序:bool cmp(int a, int b) { return a > b; }

⚡ 应用场景

  • 快速实现数组操作(vector)
  • 字符串处理(substr截取子串)
  • 堆优化(Dijkstra算法优先队列)

2. 🔢 排序(STL为主)

关键模板

// 自定义结构体排序
struct Node { int x, y; };
bool cmp(Node a, Node b) { if (a.x == b.x) return a.y < b.y;return a.x > b.x;
}
sort(v.begin(), v.end(), cmp);

⚡ 应用场景

  • 贪心算法前的预处理
  • 二分查找前的有序化

3. 🔍 二分(必背!)

整数二分模板

int l=1;r=n;
int ans;//ans表示当前答案满足时的最优解
while(l<=r) 
{int mid=(l+r)>>1;if(check(mid))l=mid+1,ans=mid; else r=mid-1; 
}
cout << ans;

实数二分模板

double l=0, r=1e9;
for (int i=0; i<100; i++) { // 精度控制double mid = (l + r) / 2;if (check(mid)) r = mid;else l = mid;
}

⚡ 应用场景

  • 有序数组查找
  • 答案单调时的最优解问题(如:分绳子)

4. ➕ 前缀和与差分

一维核心公式

  • 前缀和s[i] = s[i-1] + a[i]
  • 差分diff[l] += c, diff[r+1] -= c

二维差分操作

// 矩阵区域加减
diff[x1][y1] += c;
diff[x2+1][y1] -= c;
diff[x1][y2+1] -= c;
diff[x2+1][y2+1] += c;

⚡ 应用场景

  • 区间求和(O(1)查询)
  • 多次区间修改后求最终数组

5. 🧮 数学(背公式!)

高频考点

  • 质数判断:试除法(枚举到√n)
  • 筛质数(线性筛,埃氏筛)
  • 快速幂(递归分治):
    long long qpow(long long a, long long b, long long p) {if (b == 0) return 1 % p;long long res = qpow(a, b/2, p);return b % 2 ? res * res % p * a % p : res * res % p;
    }
    
  • 最大公约数__gcd(a, b)(STL自带)
  • 组合数学问题
  • 进制问题

6. 🤝 并查集 + 贪心

并查集模板

int father[N];
int find(int x) {return father[x] == x ? x : father[x] = find(father[x]);
}
void merge(int a, int b) {father[find(a)] = find(b);
}

贪心策略

  • 排序贪心:按权重排序后取最优
  • 区间调度:优先选结束早的

7. 💻 二进制与位运算

常用操作

  • n & 1:判断奇偶
  • n >> 1:等价于 /2
  • a ^ b ^ b = a:交换变量 a = a ^ b; b = a ^ b; a = a ^ b;

⚡ 应用场景

  • 状态压缩(用二进制表示集合)
  • 快速计算乘除2的幂

8. 🐌 动态规划(最后冲刺)

经典问题

  • 背包问题
    状态转移:dp[i][j] = max(dp[i-1][j], dp[i-1][j-v[i]] + w[i])
  • 最长递增子序列
    状态转移:dp[i] = max(dp[i], dp[j] + 1) (j < i && a[j] < a[i])

⚡ 突击技巧

  • 背模板!先解决「01背包」「斐波那契」等基础模型

📌 突击策略

  1. 优先掌握:STL > 排序 > 二分 > 前缀和
  2. 代码默写:每天手敲一次二分/快速幂模板
  3. 动态规划留到最后,只背经典题!

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

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

相关文章

汽车性能的幕后保障:慧通测控电动尾翼综合力学测试浅析

在汽车性能不断追求极致的当下&#xff0c;电动尾翼已成为众多高性能车型以及部分新能源汽车提升空气动力学表现与操控稳定性的关键配置。从炫酷的超跑到注重续航与驾驶体验的新能源车&#xff0c;电动尾翼正逐渐崭露头角。它绝非仅仅是外观上的装饰&#xff0c;而是能在车辆行…

2、文件上传漏洞的防范

原文地址:文件上传漏洞的防范 更多内容请关注&#xff1a;代码安全 PHP安全编码——书写安全的代码 文件上传漏洞的防范 提问 问题1&#xff1a;上传漏洞是怎么产生的&#xff1f; 问题2&#xff1a;是否可以只用js判断文件类型而php不判断&#xff1f; 问题3&#…

06软件测试需求分析案例-添加用户

给职业顾问部的老师添加用户密码后&#xff0c;他们才能登录使用该软件。只有admin账户具有添加用户、修改用户信息、删除用户的权利。admin是经理或团队的第一个人的账号&#xff0c;后面招一个教师就添加一个账号。 通读需求是提取信息&#xff0c;提出问题&#xff0c;输出…

Ex-Human:在DigitalOcean云平台之上,构建下一代 AI 数字人

Ex-Human 正在通过创造极具吸引力和富有同理心的人工智能角色&#xff0c;重新定义人们与人工智能的互动方式。该公司由 Artem Rodichev 创立&#xff0c;让用户能够通过文本、图像、视频和音频创建能互动的独一无二的数字人物。凭借每月超过一百万的活跃用户和五百万个定制创建…

从零实现HTTP服务器

响应&#xff1a; 第一部分测试代码&#xff0c;读取请求 Makefile binhttpserver #生成的可执行程序 ccg #编译器名称 LD_FLAGS-stdc11 -lpthread #-DDEBUG1 #链接选项 srcmain.cc$(bin):$(src)$(cc) -o $ $^ $(LD_FLAGS).PHONY:clean clean:rm -f $(bin) 1111111 main.cc…

构建高可靠C++服务框架:从日志系统到任务调度器的完整实现

构建高可靠C服务框架&#xff1a;从日志系统到任务调度器的完整实现 一、深度解析示例代码技术体系 1.1 日志系统的进阶应用 示例代码中的ZRY_LOG_XXX宏展示了基础日志功能&#xff0c;但在生产环境中我们需要更完善的日志系统&#xff1a; 推荐技术栈组合&#xff1a; sp…

小张的工厂进化史——工厂模式

小张的工厂进化史——工厂模式 一、简单工厂模式&#xff1a;全能生产线二、工厂方法模式&#xff1a;分品牌代工三、抽象工厂模式&#xff1a;生态产品族四、三种模式核心对比表五、结合Spring实现简单工厂&#xff08;实践&#xff09; 小张从华强北起家&#xff0c;最初只有…

Python中的eval()函数详解

文章目录 Python中的eval()函数详解基本语法基本用法安全性问题安全使用建议实际应用场景与exec()的区别性能考虑总结 Python中的eval()函数详解 eval()是Python的一个内置函数&#xff0c;用于执行字符串形式的Python表达式并返回结果。它是一个强大但需要谨慎使用的函数。 …

银行业务发展历史

银行业务发展历史 银行业务的发展可以追溯到古代&#xff0c;但其现代形式的发展可以追溯到中世纪。以下是银行业务发展的主要历史阶段&#xff1a; 1. 古代和中世纪时期 特点&#xff1a;商人提供贷款和存款服务&#xff0c;充当中间人转移资金&#xff0c;发行纸币作为支付…

SQL实战篇,数据库在Kooboo中的实际应用(一)

本文将结合实际操作与代码示例&#xff0c;展示SQL 在 Kooboo 中的实际应用 仅需两步&#xff1a;动态创建表 基础查询&#xff0c;无需复杂配置&#xff0c;快速上手&#xff01; 一、动态创建表&#xff1a;插入数据 Kooboo 支持多种数据库&#xff0c;以 SQLite 为例&…

克魔助手(Kemob)安装与注册完整教程 - Windows/macOS双平台指南

iOS设备管理工具克魔助手便携版使用全指南 前言&#xff1a;为什么需要专业的iOS管理工具 在iOS开发和设备管理过程中&#xff0c;开发者经常需要突破系统限制&#xff0c;实现更深层次的控制和调试。本文将详细介绍一款实用的便携式工具的使用方法&#xff0c;帮助开发者快速…

搜索插入位置 -- 二分查找

目录 一&#xff1a;题目 二:算法原理 三&#xff1a;代码分析 一&#xff1a;题目 题目链接&#xff1a;35. 搜索插入位置 - 力扣&#xff08;LeetCode&#xff09; 二:算法原理 三&#xff1a;代码分析 class Solution { public:int searchInsert(vector<int>&am…

Apache Doris内存与超时参数配置详解

一、查询任务内存限制调整 1. ​默认内存限制与问题定位 Apache Doris默认限制单个BE节点上的查询任务内存使用不超过2GB&#xff08;即exec_mem_limit2147483648字节&#xff09;。当复杂查询或大规模数据操作超过此限制时&#xff0c;会触发Memory limit exceeded错误。通过…

龙虎榜——20250411

今天缩量&#xff0c;上方压力依然在&#xff0c;外围还在升级&#xff0c;企稳还需要时日。 2025年4月11日龙虎榜行业方向分析 一、核心主线方向 半导体与芯片&#xff08;国产替代加速&#xff09; • 代表标的&#xff1a;圣邦股份&#xff08;模拟芯片&#xff09;、中电…

若依前后端分离版本从mysql切换到postgresql数据库

一、修改依赖&#xff1a; 修改admin模块pom.xml中的依赖,屏蔽或删除mysql依赖&#xff0c;增加postgresql依赖。 <!-- Mysql驱动包 --> <!--<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId> &l…

自定义排序注意点

这段 Java 代码展示了两种排序方式的用法&#xff0c;分别是&#xff1a; 对普通数组进行排序&#xff08;Integer[] nums&#xff09;对对象数组进行排序&#xff08;Student[] students&#xff09; 我来一步步给你讲清楚&#xff1a; ✅ 第1部分&#xff1a;普通数组降序排…

第十四届蓝桥杯大赛软件赛省赛C/C++ 大学 A 组真题

文章目录 1 幸运数题目描述&#xff1a;答案&#xff1a;4430091 代码&#xff1a; 2 有奖问答题目描述&#xff1a;重点&#xff1a;答案&#xff1a;8335366 代码&#xff1a; 3 平方差题目描述&#xff1a;思路&#xff1a;数学找规律代码&#xff1a; 4 更小的数题目描述&a…

C++ 入门四:类与对象 —— 面向对象编程的核心基石

一、类的定义 1. 类的基本形式 class 类名 { public: // 公有成员&#xff08;类内外均可访问&#xff09;数据类型 数据成员; // 公有数据成员数据类型 成员函数(参数列表); // 公有成员函数声明 protected: // 保护成员&#xff08;类内和派生类可访问&…

嵌入式---电机分类

一、按电流类型分类&#xff08;最基础分类&#xff09; 1. 直流电机&#xff08;DC Motor&#xff09; 工作原理&#xff1a;通过换向器&#xff08;有刷&#xff09;或电子换向&#xff08;无刷&#xff09;将直流电源转换为交变磁场&#xff0c;驱动转子旋转。 核心特点&a…

【python】并行编程模块:threading / mutliprocess / parallel / Celery

在并行编程中&#xff0c;Python 具有简化实现的内置和外部模块。 本书是基于Python3.X的。 Python的threading模块 Python的threading模块为模块 _thread 提供了一个抽象层&#xff0c;它是一个较低级别的模块。 它提供的功能可以帮助程序员完成基于线程开发并行系统的艰巨任…