.jpg)
书: https://pan.baidu.com/s/1jDVnfhmGRwu5jeEuV63Kcg?pwd=bmyj
笔记如下:
- 基础语法强化:重点掌握指针、结构体、位运算等C/C++核心语法,避免竞赛中的低级错误。
- 算法模板速记:整理高频算法模板(如快速排序、二分查找),缩短编码时间。
- 输入输出优化:使用
scanf/printf
替代cin/cout
提升速度,大数据量时关闭同步流(ios::sync_with_stdio(false)
)。 - STL高效应用:熟练使用
vector
、map
、priority_queue
等容器,减少手动实现复杂度。 - 动态规划(DP):背包问题、最长公共子序列(LCS)等经典DP模型需强化递推公式训练。
- 图论算法:Dijkstra最短路径、Floyd-Warshall多源最短路、Prim/Kruskal最小生成树为必考内容。
- 搜索技巧:DFS/BFS的剪枝策略(如可行性剪枝、最优性剪枝),避免超时。
- 数学问题:素数筛法(埃氏筛、欧拉筛)、快速幂取模、组合数计算(杨辉三角或逆元法)。
- 字符串处理:KMP模式匹配、Trie树(字典树)优化字符串检索效率。
- 贪心算法:区间调度、霍夫曼编码等问题的贪心策略证明与实现。
- 竞赛真题解析:分析历年蓝桥杯真题(如数字三角形、迷宫问题),总结出题规律。
- 时间复杂度控制:根据数据规模(如n≤1e5)选择O(nlogn)或O(n)算法,避免TLE。
- 调试技巧:使用断言(
assert
)和局部打印(printf
)快速定位逻辑错误。 - 内存管理:防止数组越界、栈溢出(递归过深),大数组声明为全局变量。
- 文件操作:熟悉竞赛中的文件输入输出(如
freopen
重定向)。 - 位运算优化:利用位掩码(Bitmask)压缩状态,加速状态转移(如状压DP)。
- 模拟题训练:复杂模拟题(如时间处理、游戏规则)需耐心拆解步骤。
- 代码规范:缩进、变量命名清晰(如
dp[i][j]
),提升代码可读性。 - 时间分配策略:简单题快速AC,难题预留时间(如先写暴力再优化)。
- 实战模拟:定期限时训练(3-5小时全真模拟),培养竞赛节奏感。