算法提高课
文章平均质量分 96
Die love 6-feet-under
这个作者很懒,什么都没留下…
展开
-
笔记-----BFS宽度优先搜索
对于BFS:宽搜第一次搜到就是最小值,并且基于迭代,不会爆栈。Flood Fill 模型如果直译的话就是:洪水覆盖,意思就是像是从一个点一圈圈的往外扩散,如果遇见能够连通的就扩散,如果遇见无法联通的就不去扩散,然后再去以扩散出去的点为起点再去扩散。Flood Fill 可以实现在线性时间复杂度内找到某个点所在的连通块。例题:1.AcWing 1097. 池塘计数农夫约翰有一片 N∗MN∗MN∗M 的矩形土地。最近,由于降雨的原因,部分土地被水淹没了。现在用一个字符矩阵来表示他的土地。每原创 2024-04-19 19:41:19 · 1091 阅读 · 0 评论 -
笔记---DFS,深度优先搜索
深度优先搜索乃是注重深度,会把一条路径优先全部搜完然后再去回溯,再去搜其他路径与BFS中的Flood Fill相似一天Extense在森林里探险的时候不小心走入了一个迷宫,迷宫可以看成是由 n∗n 的格点组成,每个格点只有2种状态,和,前者表示可以通行后者表示不能通行。同时当Extense处在某个格点时,他只能移动到东南西北(或者说上下左右)四个方向之一的相邻格点上,Extense要从点A走到点B,问在不走出迷宫的情况下能不能办到。如果起点或者终点有一个不能通行(为#),则看成无法办到。注意:A、B不一定是原创 2024-05-03 13:13:04 · 1041 阅读 · 0 评论 -
状态压缩DP
有一架弹弓位于 (0,0) 处,每次 Kiana 可以用它向第一象限发射一只红色的小鸟, 小鸟们的飞行轨迹均为形如 y=ax2+bx 的曲线,其中 a,b 是 Kiana 指定的参数,且必须满足 a原创 2024-04-06 11:17:30 · 661 阅读 · 0 评论 -
树状数组
OlogNOlogN。原创 2024-03-26 08:56:47 · 868 阅读 · 0 评论 -
笔记---dp---最长上升子序列模型
此题要求求最少需要几位同学出列,意思便是要求最多能留下多少同学,而能留下的最多的同学即满足先上升后下降的序列的最长长度,如此来看,此题和登山十分相似,只需要求出最长的先上升后下降的子序列之后,用全部人数减去子序列长度就可以得到答案了。对于第二问可以先枚举每个数,对于每个数,如果所有的子序列的结尾的数字都小于当前这个数的时候,就创建一个新的子序列,如果有子序列的结尾的数字大于当前这个数,就把这个数放到大于等于它的结尾最小的子序列后面。原创 2024-02-12 11:09:12 · 815 阅读 · 0 评论 -
笔记---dp---数字三角形模型
地里每个道路的交叉点上都有种着一株花生苗,上面有若干颗花生,经过一株花生苗就能摘走该它上面所有的花生。接下来的每行有三个整数,第一个为行号数,第二个为列号数,第三个为在该行、该列上所放的数。从左上角进入后,在状态转移的时候,可能会去到边界之外的0,故我们需要在过程中进行特判。所有可能的路线中,能够得到的花生的最大值,那么到最后,我们要求的最大值就是右下角的。的方格图,我们在其中的某些方格中填入正整数,而其它的方格中则放入数字。的可能的路径中能选到数的最大值,k是两条路线各自的横纵坐标的和。原创 2024-02-07 12:24:12 · 696 阅读 · 0 评论