![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
文章平均质量分 85
aresii
这个作者很懒,什么都没留下…
展开
-
线段树-经典&有趣
定义一种区间树,即将除叶子节点的区间拆分成两个区间,序列以一棵二叉树的形式呈现。如图便是一棵线段树,我们将通过图来更深刻的认识线段树。性质1.可以观察到,这棵线段树的深度是 logn\log nlogn。2.每个除叶子节点以外节点的左孩子是该节点乘上 222,而右孩子是该节点乘上 222 加上 111。3.可以观察到此树是一棵完全二叉树。众所周知,性质决定用途,我们可以用线段树干什么呢?应用要致富,先建树我们令根节点为 111,从根节点一直分裂,直到分到叶子节点,然后停止分裂原创 2022-02-05 19:07:33 · 176 阅读 · 0 评论 -
搜索-经典&有趣
前言话说这个版块开了也真是不容易,调哭了qwq双向搜索优化了普通搜索的一个平方的级别。个人认为还是比较好打,但是容易被卡。题目选讲Acwing171Solution一道非常经典的折半搜索。我们先对礼物进行折半,先开始搜索前一半,就字面意思,爆搜选或者不选。把所有没有超过的重量都给记录下来。接着我们搜后一半,然后匹配前一半最大的且不超过的,这里可以用二分优化。复杂度为 O(n⋅2⋅2n2)O(n\cdot2\cdot 2^{\frac{n}{2}})O(n⋅2⋅22n)是不会超时原创 2022-01-27 09:50:39 · 508 阅读 · 0 评论 -
状态压缩DP-经典&变形
前言状压 DP 就是一类使用根据几进制来进行状态转移方程。一般来说,数据范围 2n2^n2n 都在情理之中,可是 n!n!n! 就直接爆炸。状压一般来说都可以用搜索,并且搜索都可以拿分,只是拿不全。所以说,一般看见有一维是 111111~191919 的话,那可以考虑状压。题目选讲P1879 Solution经典的状压 DP,算是入门题目吧。我们发现 nnn 和 mmm 都特别小,但是搜索肯定过不了,那么我们思考一下状压。我们发现:每一行的状态可以用一个二进制来表示,每一块草地种或者原创 2022-01-26 14:21:16 · 529 阅读 · 0 评论 -
引水入城-题解
蒟蒻改了很久,终于,写篇题解总结总结1.大致思路观察题面,我们可以总结出几个比较关键的要点水域会流动,并且需要有一定条件才能进行流动,可以想到用 bfsbfsbfs 去模拟水的流动。需要判断水流是否能灌溉干旱线,可以使用 bfsbfsbfs 来判断。根据大致对题面的了解,我们大致可以知道第一问需要用搜索解决,第二问待会儿考虑。2.BFS因为我们先开始不知道需要几个输水站,所以最好的情况就是用所有的输水站输水,如果用上了全部的输水站还不行,那肯定就不可以了。关于如何详细的打,这里就不原创 2021-07-17 17:01:15 · 161 阅读 · 0 评论