考试技巧
竞赛编程中的常见错误与调试技巧大全
总结了竞赛中常见的错误类型和高效的调试方法,帮你少踩坑。
**一、常见编译/运行错误**
1. `int main()` 写成 `void main()` — 编译错误
2. 忘记 `#include` — 编译错误
3. 数组...
#调试
#常见错误
#考试技巧
数据结构
字典树(Trie)的 24 种奇妙用途
在信息学竞赛的学习过程中,这个主题一直是很多同学感到困惑的地方。今天我想结合自己的学习和教学经验,系统性地整理一下,希望能帮助到正在备赛的同学们。
首先,我们需要明确这个知识点的理论基础。很多同学之所以觉得难,是因为没有理解其背后的数学原...
#数据结构
#优化
#模板
数据结构
主席树与可持久化数据结构:原理、模板及应用详解
可持久化数据结构能在修改操作后保留历史版本,本文重点介绍主席树。
**一、可持久化思想**
每次修改不直接修改原结点,而是新建一部分结点,共享未修改的部分。这样每个版本的根节点就能访问该版本的所有数据。
**二、主席树(可持久...
#主席树
#可持久化
#数据结构
数据结构
并查集完全指南:基础、带权、种类并查集与可撤销
并查集是最简洁而强大的数据结构之一,本文全面梳理其应用。
**一、基础并查集**
维护集合的合并与查找:
```cpp
int fa[N];
int find(int x) { return fa[x] == x ? x : ...
#并查集
#数据结构
#带权并查集
学习心得
洛谷刷题记录:坚持 300 天打卡,我从普及-到提高+的历程
在洛谷坚持打卡 300 天,记录一下这段旅程的收获和感悟。
**第 1-50 天:入门阶段**
刷题量:约 80 题
难度范围:入门、普及-
主要收获:
- 巩固 C++ 基础语法
- 学会分析时间复杂度和空间复杂度
- ...
#洛谷
#刷题
#打卡
数据结构
主席树与可持久化数据结构:原理、模板及应用详解
可持久化数据结构能在修改操作后保留历史版本,本文重点介绍主席树。
**一、可持久化思想**
每次修改不直接修改原结点,而是新建一部分结点,共享未修改的部分。这样每个版本的根节点就能访问该版本的所有数据。
**二、主席树(可持久...
#主席树
#可持久化
#数据结构
数据结构
树链剖分(重链剖分)入门到实践:原理、模板与例题
树链剖分是竞赛中处理树上路径问题的利器,本文带你从零开始掌握它。
**一、什么是树链剖分?**
将树划分成若干条重链,使得任意两点间的路径可以拆分为 O(log n) 条重链的连续段。然后在线段树上对这些段进行操作。
**二、...
#树链剖分
#重链
#数据结构
数据结构
莫队算法详解:从普通莫队到树上莫队的完整教程
莫队算法是一种优雅的离线分块算法,由莫涛(Mo Tao)提出。
**一、普通莫队**
核心思想:将询问离线,按照某种顺序处理,利用上一次查询的结果快速计算下一次。
基本流程:
1. 将数组分成 √n 块
2. 询问排序:左...
#莫队
#分块
#离线算法
数据结构
树链剖分(重链剖分)入门到实践:原理、模板与例题
树链剖分是竞赛中处理树上路径问题的利器,本文带你从零开始掌握它。
**一、什么是树链剖分?**
将树划分成若干条重链,使得任意两点间的路径可以拆分为 O(log n) 条重链的连续段。然后在线段树上对这些段进行操作。
**二、...
#树链剖分
#重链
#数据结构
算法竞赛
贪心算法全解:从活动选择到拟阵理论的竞赛实战
贪心算法是竞赛中最常用的算法思想之一,看似简单,实则对思维要求很高。
**一、贪心算法核心思想**
每一步选择当前看起来最优的方案,期望最终得到全局最优解。
贪心成立的条件(之一):
- 问题具有最优子结构
- 贪心选择性...
#贪心
#算法
#拟阵
数据结构
莫队算法详解:从普通莫队到树上莫队的完整教程
莫队算法是一种优雅的离线分块算法,由莫涛(Mo Tao)提出。
**一、普通莫队**
核心思想:将询问离线,按照某种顺序处理,利用上一次查询的结果快速计算下一次。
基本流程:
1. 将数组分成 √n 块
2. 询问排序:左...
#莫队
#分块
#离线算法
数据结构
字典树(Trie)的 54 种奇妙用途
在信息学竞赛的学习过程中,这个主题一直是很多同学感到困惑的地方。今天我想结合自己的学习和教学经验,系统性地整理一下,希望能帮助到正在备赛的同学们。
首先,我们需要明确这个知识点的理论基础。很多同学之所以觉得难,是因为没有理解其背后的数学原...
#数据结构
#优化
#模板