- 博客(5)
- 收藏
- 关注
原创 NOIP学习笔记——线段树基础
本文详细介绍了线段树的实现与应用。线段树是一种能够在O(logN)时间复杂度内完成单点修改、区间修改和区间查询的数据结构。文章首先讲解了线段树的基本概念和建树方法,强调需要开四倍空间以防止越界。接着详细说明了查询操作的实现逻辑,包括如何判断是否需要遍历子树。重点介绍了区间修改中的懒标记(lazy_tag)技术,通过延迟更新来提高效率。还提供了加乘线段树和简单题两个应用实例,展示了如何通过线段树解决实际问题。最后给出了完整的模板代码实现,包括建树、查询、修改等核心功能。
2025-08-13 08:00:00
548
原创 NOIP学习笔记——动态规划dp基础
本文介绍了动态规划的基本概念、应用条件和解题要点,并通过多个例题展示了动态规划在求解最值问题和方案数问题中的应用。文章首先明确了动态规划的两个必要条件:最优子结构和无后效性,强调状态转移图必须是有向无环图。然后详细讲解了动态规划问题的五个关键要素:状态定义、转移方程、初始化、枚举顺序和答案表示。通过斐波那契数列、门票问题、数字三角形等经典例题,展示了如何构建状态转移方程。还特别针对后效性问题提出了两种解决方法:移项法和多步等效法。最后通过放苹果、吃糖果等较复杂的例题,说明了状态转移方程的构建技巧。文章结构清
2025-08-02 09:00:00
959
原创 NOIP学习笔记——最小生成树kruskal
1.一个最小生成树只存在于连通图中。2.假设有一个n个点,m条边的连通图(m>=n),它的最小生成树应包含n个点n-1条边。3.一个最小生成树中不应存在环。
2025-02-23 20:32:10
661
原创 NOIP学习笔记——并查集
并查集是一个简单好用的数据结构,主要用途是查询是否连通及连通数。通俗来讲,就是爸爸的爸爸是祖先。例如:a是b的儿子,b是c的儿子,我们此时就可以将a-b-c连在一起,于是可以得出a是c的孙子,隶属同一家的结论。
2025-02-17 00:03:52
428
原创 NOIP学习笔记——倍增lca
在树或图中,两个点的最近公共祖先,称为这两个点的lca如上图这棵树,根节点是1,要求5和2的lca,不难看出是1;求5和4的lca,不难看出是3。
2024-10-10 23:56:11
1110
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅