会员
T恤
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
Revitalize
博客园
|
首页
|
新随笔
|
新文章
|
联系
|
订阅
|
管理
随笔:7 文章:0 评论:0 阅读:
24
2025年2月16日
树上DP
摘要: 1、基础树形 DP 树形 DP 处理的问题是在树上计算某值的最优解(如最小值)或方案数等问题,通常会有父子节点之间的关系作为限制条件。 譬如说,要在树上选一些点,要求对任意点不能同时选择它和它的父节点,求选出的点的最大点权和。这就是一个典型的树上 DP 问题。 通常来说,我们设计的状态是:\(dp[
阅读全文
posted @ 2025-02-16 15:04 Revitalize
阅读(8)
评论(0)
推荐(0)
编辑
并查集
摘要: 例题引入:有
n
个点,
m
条无向边连接,求联通块数 假设我不会 DFS 1.暴力
n
2
给每个点加一个点权(或可称之为颜色)
w
[
i
]
, 初始时
w
[
i
]
=
i
。 若连接两个点权相等的点,不管。 若连接两个点权不相等的点
i
、
j
,那么
阅读全文
posted @ 2025-02-16 15:02 Revitalize
阅读(3)
评论(0)
推荐(0)
编辑
树状数组
摘要: 例题引入:维护一个序列
a
,支持单点加操作,查询区间和。 (我不会告诉你学完线段树后树状数组就没用了) 1.简化版本 0x01.无操作,查询单点值 就是一个最朴素的数组,入门语法题 0x02.单点加,查询单点值 还是语法题,没手都行 0x03.无操作,查询区间和 红题,前缀和,设。 \(s_
阅读全文
posted @ 2025-02-16 15:00 Revitalize
阅读(2)
评论(0)
推荐(0)
编辑
ST表(RMQ)
摘要: 例题引入:维护长度为
n
的序列
a
,
q
个询问,查询区间最大值 1.暴力
n
2
由于
max
没有像加法,乘法那样的可差分性,所以不能搞前缀和,只能
Θ
(
n
×
q
)
硬跑,
10
5
直接 T 到飞起 2.倍增优化(
阅读全文
posted @ 2025-02-16 14:51 Revitalize
阅读(0)
评论(0)
推荐(0)
编辑
线段树
摘要: 线段树 例题引入:维护一个序列
a
,支持区间加,查询区间和 1.结构 线段树是一棵二叉树,树根的“管辖范围”是
a
[
1
]
到
a
[
n
]
。 每个节点的左儿子的管辖范围是该节点管辖范围的左半段, 右儿子的管辖范围是该节点管辖范围的右半段。 叶子节点的管辖范围就是
a
[
i
]
阅读全文
posted @ 2025-02-16 14:46 Revitalize
阅读(4)
评论(0)
推荐(0)
编辑
树链剖分
摘要: 一道好好的数据结构题,有的出题人会把它放在树上来强迫选手写树剖。 例题引入:有根树上
n
个点有点权,
4
种操作: 1. 将一条链上的所有点加上一个值。 2.查询一条链的点权和。 3.将一棵子树的所有点加上一个值。 4.查询一棵子树的点权和。 (注意:本文中某个节点的“子树”包含该节
阅读全文
posted @ 2025-02-16 14:37 Revitalize
阅读(1)
评论(0)
推荐(0)
编辑
2025年2月5日
主席树
摘要: 建议先学习平衡树,这样会对一些复杂的树操作理解地更快、更好一些。 零、前言 网上和 OI-wiki 上对于主席树的介绍大多较简洁,对我这种入门水平选手非常不友好。 于是写一篇十分拙劣的面向普及的主席树。 一、简述 主席树,目前最普遍的说法是将它解释为“可持久化权值线段树“,因其发明人缩写为“HJT”
阅读全文
posted @ 2025-02-05 23:56 Revitalize
阅读(6)
评论(0)
推荐(0)
编辑
<
2025年4月
>
日
一
二
三
四
五
六
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
公告
Always Studying
昵称:
Revitalize
园龄:
2个月
粉丝:
1
关注:
1
+加关注
搜索
常用链接
我的随笔
我的评论
我的参与
最新评论
我的标签
随笔分类
动态规划(1)
数据结构(6)
随笔档案
2025年2月(7)
阅读排行榜
1. 树上DP(8)
2. 主席树(6)
点击右上角即可分享