
知识总结
文章平均质量分 89
aresii
这个作者很懒,什么都没留下…
展开
-
线段树-经典&有趣
定义 一种区间树,即将除叶子节点的区间拆分成两个区间,序列以一棵二叉树的形式呈现。 如图便是一棵线段树,我们将通过图来更深刻的认识线段树。 性质 1.可以观察到,这棵线段树的深度是 logn\log nlogn。 2.每个除叶子节点以外节点的左孩子是该节点乘上 222,而右孩子是该节点乘上 222 加上 111。 3.可以观察到此树是一棵完全二叉树。 众所周知,性质决定用途,我们可以用线段树干什么呢? 应用 要致富,先建树 我们令根节点为 111,从根节点一直分裂,直到分到叶子节点,然后停止分裂原创 2022-02-05 19:07:33 · 207 阅读 · 0 评论 -
搜索-经典&有趣
前言 话说这个版块开了也真是不容易,调哭了qwq 双向搜索优化了普通搜索的一个平方的级别。 个人认为还是比较好打,但是容易被卡。 题目选讲 Acwing171 Solution 一道非常经典的折半搜索。 我们先对礼物进行折半,先开始搜索前一半,就字面意思,爆搜选或者不选。 把所有没有超过的重量都给记录下来。 接着我们搜后一半,然后匹配前一半最大的且不超过的,这里可以用二分优化。 复杂度为 O(n⋅2⋅2n2)O(n\cdot2\cdot 2^{\frac{n}{2}})O(n⋅2⋅22n) 是不会超时原创 2022-01-27 09:50:39 · 552 阅读 · 0 评论 -
状态压缩DP-经典&变形
前言 状压 DP 就是一类使用根据几进制来进行状态转移方程。 一般来说,数据范围 2n2^n2n 都在情理之中,可是 n!n!n! 就直接爆炸。 状压一般来说都可以用搜索,并且搜索都可以拿分,只是拿不全。 所以说,一般看见有一维是 111111~191919 的话,那可以考虑状压。 题目选讲 P1879 Solution 经典的状压 DP,算是入门题目吧。 我们发现 nnn 和 mmm 都特别小,但是搜索肯定过不了,那么我们思考一下状压。 我们发现:每一行的状态可以用一个二进制来表示,每一块草地种或者原创 2022-01-26 14:21:16 · 574 阅读 · 0 评论