会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
hapihapi
博客园
首页
新随笔
联系
订阅
管理
2025年7月16日
线段树合并
摘要: 适用场景 • 树上问题:在树上需要合并子树信息时,可以使用线段树合并来优化时间复杂度。 • 动态开点:通常与动态开点的线段树结合使用,以减少空间消耗。 算法流程 递归合并:从根节点开始,同时遍历两棵线段树。 空节点处理:如果某个位置的节点在一棵树中为空,则直接使用另一棵树中的节点。 叶子节点处理:到
阅读全文
posted @ 2025-07-16 08:36 hapihapi
阅读(168)
评论(0)
推荐(1)
2025年7月15日
可持久化线段树
摘要: 1. 可持久化线段树 可持久化数据结构允许我们访问数据结构的历史版本,这对于需要查询过去某个时间点或某个操作前的数据状态的问题非常有用。 可持久化线段树通过在每个节点上保存历史版本的信息,使得我们可以在对数时间内访问到任意历史版本的数据结构。这种数据结构在解决区间修改和查询等问题时具有高效性。 每次
阅读全文
posted @ 2025-07-15 08:37 hapihapi
阅读(27)
评论(0)
推荐(0)
基环树
摘要: 定义 一个图包含n个点n条边,且图中只存在一个环,这样的图被称为基环树 基环树可以看作以环点为根的一颗颗子树构成 三类 1.无向树 2.外向树(每个点只有一条入边) 环上的根节点与子树的连边指向外部 可以理解为,若u的入边为v到u,v是u的父节点 3.内向树(每个点只有一条出边) 子树中的边指向环上
阅读全文
posted @ 2025-07-15 08:37 hapihapi
阅读(77)
评论(0)
推荐(0)
2024年11月29日
单调队列优化dp
摘要: 前置知识:单调队列 不会的话可以去看我这一篇 单调队列 空讲太不清楚了,还是举个 栗子 可以发现,这很明显要用dp,看起来似乎跟单调队列有点关系,不过有一点区别,单调队列维护的是一段滑动窗口(就是一段连续长度,为\(k\)的子段),而这一题却是要求连续选择数不能超过\(k\) 先直接给出暴力dp的式
阅读全文
posted @ 2024-11-29 11:22 hapihapi
阅读(38)
评论(0)
推荐(0)
单调队列
摘要: 单调队列 顾名思义,是一个用双端队列维护的具有单调性质的队列,队列内部元素可以是从大到小也可以是从小到大,可以在\(O(n)\)的时间内提取出一个长度为\(n\)的数组中每一段连续固定长度的子段的最大值或者最小值 实现起来也很容易,假如说我们现在要求出数组\(a\)每个长度为k的最大值(题目传送)
阅读全文
posted @ 2024-11-29 10:15 hapihapi
阅读(33)
评论(0)
推荐(0)
2024年11月22日
SG函数
摘要: 有向图游戏 题意:给定一个有向无环图,图中只有一个起点,在起点上放一个棋子,两个玩家轮流沿着有向边推动棋子,每次走一步,不能走的玩家失败 先分析一下 对于这样一个游戏,最终结束状态是棋子走到一个没有出度的点,这种状态属于必输状态,结合前两篇的 Nim 游戏可以知道,所有连向这个必输状态的状态都属于必
阅读全文
posted @ 2024-11-22 20:29 hapihapi
阅读(32)
评论(0)
推荐(0)
2024年11月21日
Nim游戏2(台阶型)
摘要: 有1~n级台阶,每个台阶有a[i]个石子,每次操作可以将k级台阶的一些石子移动到k-1级台阶上。移动到第0级不可再动,无法再操作者输,给出石子分布情况,问先手是否必胜 和取石子nim游戏本质相同,考虑移动石子的过程,通过“观察”可得,结论是奇数台阶数量异或和为0则先手必输,否则必赢。 结合上一篇的两
阅读全文
posted @ 2024-11-21 19:38 hapihapi
阅读(54)
评论(0)
推荐(1)
2024年11月20日
Nim游戏
摘要: Nim 游戏 题目描述 甲,乙两个人玩 nim 取石子游戏。 nim 游戏的规则是这样的:地上有 n 堆石子(每堆石子数量小于 10^4),每人每次可从任意一堆石子里取出任意多枚石子扔掉,可以取完,不能不取。每次只能从一堆里取。最后没石子可取的人就输了。假如甲是先手,且告诉你这 \(n\) 堆石子的
阅读全文
posted @ 2024-11-20 21:08 hapihapi
阅读(99)
评论(0)
推荐(1)
公告