数据结构
并查集完全指南:基础、带权、种类并查集与可撤销
并查集是最简洁而强大的数据结构之一,本文全面梳理其应用。
**一、基础并查集**
维护集合的合并与查找:
```cpp
int fa[N];
int find(int x) { return fa[x] == x ? x : ...
#并查集
#数据结构
#带权并查集
算法竞赛
贪心算法全解:从活动选择到拟阵理论的竞赛实战
贪心算法是竞赛中最常用的算法思想之一,看似简单,实则对思维要求很高。
**一、贪心算法核心思想**
每一步选择当前看起来最优的方案,期望最终得到全局最优解。
贪心成立的条件(之一):
- 问题具有最优子结构
- 贪心选择性...
#贪心
#算法
#拟阵
数据结构
线段树从入门到精通:原理、模板与常见变种全解析
线段树是信息学竞赛中最核心的数据结构之一,本文将带你从零基础到熟练掌握。
**一、线段树本质**
线段树是一种二叉树,每个节点代表一个区间。叶子节点存储单个元素,内部节点存储其子节点区间的合并信息(如区间和、区间最大值、区间最小值等...
#线段树
#数据结构
#懒标记
算法竞赛
BFS 与广度优先搜索进阶:最短路、双端队列 BFS、A*
BFS 是另一种基础搜索算法,在图论和搜索中有着广泛的应用。
**一、BFS 本质**
BFS = 广度优先搜索 = 层层扩展,像水波扩散。
核心数据结构:**队列(queue)**
```cpp
queue q;
q....
#BFS
#搜索
#最短路
数据结构
线段树从入门到精通:原理、模板与常见变种全解析
线段树是信息学竞赛中最核心的数据结构之一,本文将带你从零基础到熟练掌握。
**一、线段树本质**
线段树是一种二叉树,每个节点代表一个区间。叶子节点存储单个元素,内部节点存储其子节点区间的合并信息(如区间和、区间最大值、区间最小值等...
#线段树
#数据结构
#懒标记
学习心得
洛谷刷题记录:坚持 300 天打卡,我从普及-到提高+的历程
在洛谷坚持打卡 300 天,记录一下这段旅程的收获和感悟。
**第 1-50 天:入门阶段**
刷题量:约 80 题
难度范围:入门、普及-
主要收获:
- 巩固 C++ 基础语法
- 学会分析时间复杂度和空间复杂度
- ...
#洛谷
#刷题
#打卡
数据结构
数据结构全家桶:树状数组、平衡树、分块与莫队算法
继续数据结构系列,本期带来中级数据结构的全面讲解。
**一、树状数组(Fenwick Tree)**
小巧精悍,代码量极小。
- 单点修改 + 前缀查询(最基本)
- 区间修改 + 单点查询(差分)
- 区间修改 + 区间查询...
#数据结构
#树状数组
#平衡树
数据结构
字典树(Trie)的 44 种奇妙用途
在信息学竞赛的学习过程中,这个主题一直是很多同学感到困惑的地方。今天我想结合自己的学习和教学经验,系统性地整理一下,希望能帮助到正在备赛的同学们。
首先,我们需要明确这个知识点的理论基础。很多同学之所以觉得难,是因为没有理解其背后的数学原...
#数据结构
#优化
#模板
学习心得
零基础到 NOIP 省一:一个初二学生的完整竞赛学习路线
大家好,我是初二选手,今年刚拿到 NOIP 省一。分享一下我的完整学习路线。
**第一阶段:C++ 入门(六年级暑假,约1个月)**
- 学习 C++ 基础语法:变量、循环、数组、函数
- 刷完洛谷官方题单"入门部分"(约 50 ...
#零基础
#学习路线
#NOIP省一
数据结构
数据结构全家桶:树状数组、平衡树、分块与莫队算法
继续数据结构系列,本期带来中级数据结构的全面讲解。
**一、树状数组(Fenwick Tree)**
小巧精悍,代码量极小。
- 单点修改 + 前缀查询(最基本)
- 区间修改 + 单点查询(差分)
- 区间修改 + 区间查询...
#数据结构
#树状数组
#平衡树
算法竞赛
BFS 与广度优先搜索进阶:最短路、双端队列 BFS、A*
BFS 是另一种基础搜索算法,在图论和搜索中有着广泛的应用。
**一、BFS 本质**
BFS = 广度优先搜索 = 层层扩展,像水波扩散。
核心数据结构:**队列(queue)**
```cpp
queue q;
q....
#BFS
#搜索
#最短路
学习心得
零基础到 NOIP 省一:一个初二学生的完整竞赛学习路线
大家好,我是初二选手,今年刚拿到 NOIP 省一。分享一下我的完整学习路线。
**第一阶段:C++ 入门(六年级暑假,约1个月)**
- 学习 C++ 基础语法:变量、循环、数组、函数
- 刷完洛谷官方题单"入门部分"(约 50 ...
#零基础
#学习路线
#NOIP省一