![](https://img-blog.csdnimg.cn/20190927151117521.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法刷题
文章平均质量分 90
该专栏主要介绍自己刷的一些算法题,目的主要是记录自己刷算法题的历程,重要是保存自己的心得,忘了的时候能快速回顾想起来。然后分类就是按类型分,然后类型中按(一)(二)这样分,然后一篇文章中写10道题,满了的话就重新开另一篇
lijiachang030718
这个作者很懒,什么都没留下…
展开
-
算法刷题day55:搜索(二)
上篇文章主要是讲 $BFS$ 的,主要应用在搜索中找最短路方面,主要就是在内部搜索,和整体搜索。而 $DFS$ 其实就是暴力,主要介绍如果写出暴力,并且写出优化与剪枝,有时候能用 $BFS$ ,就用它,因为不容易失误,但是用 $DFS$ 就是不会的时候用,好处就是可以剪枝。那就还是以题目的方式,进行讲解。原创 2024-05-28 11:01:34 · 752 阅读 · 2 评论 -
算法刷题day54:搜索(一)
针对于蓝桥杯,搜索问题还是非常之重要的,在省赛前深知暴搜的重要性,所以提前先把提高课的搜索一章给看了,结果省赛时用到的算法很少,几乎是没有,反而是刚学一两个星期的暴搜给了我很大的作用,全部题目几乎都用的是暴搜,所以对于 $OI$ 赛制来说,暴搜的技巧还是很重要的,其实到了国赛也是很重要,听说国赛题都很难,而且有的题都是假题,所以说对于这种题,暴搜就显得更重要了,听说全打暴力就能国三,再对个一两道题目说不定就能国二,其实暴搜大部分样例跟全做出来没啥区别,只要你剪枝剪的好,就能多对几个样例,还是要多练,加油!原创 2024-05-27 13:32:47 · 849 阅读 · 0 评论 -
算法刷题day53:树形DP
关于这个树形 $DP$ 啊,其实感觉就是对树进行 $DFS$ 只不过有一个返回值罢了,这个返回值一般代表的就是以该结点为根的子树的一个属性,还是相当于用一个已知的状态去推未知的状态,只不过这种已知是通过递归来实现的,叶子结点的值一般都是初始值已知的,然后逐步递归到根结点,大部分还是用子结点去更新父结点的,大体的思路基本就是这样。稍有难度的题目还会加一些其它的算法,比如就是高精度,任何一类题都能加,其实还是把各个知识点都牢牢掌握了,其它的就没什么了,加油吧!原创 2024-05-24 13:34:01 · 581 阅读 · 0 评论 -
算法刷题day52:区间DP
关于区间DP,我其实觉得核心思想就是把一个区间拆分为任意两个区间,相当于是模拟枚举全部这种区间组合的过程,然后从中寻求最优解,本质上的思想不难,难的是跟其它知识点的一个组合,只是说用到了这种思想而已,那这就有挑战性了,不过还是继续加油吧!原创 2024-05-23 11:26:45 · 1242 阅读 · 0 评论 -
算法刷题day51:状态压缩DP
关于这个状态压缩 $DP$ ,考的其实还是挺多的,因为本身动态规划考的就很多,然后状态压缩这种类型一般考点都比较深入,而且本身的题目就很难也很抽象,主要还是因为真的考了很多,然后其实也没啥说的了,就是看题就行了,现在做这些题其实还是希望在考场上能见到类似的题,见到了就拿正规方法写,如果一眼看不出来直接打暴力即可,思路还是很清晰的,加油!原创 2024-05-23 09:24:31 · 629 阅读 · 0 评论 -
算法刷题day51:状态机模型
关于这个状态机模型,其实感觉是动态规划中比较简单的一种了,只要把问题中的各个状态找出来,并且分析出这些状态之间的关系和代价,其实代码就是照着这个关系图抄而已,就是这么的简单。所以主要在于分析,这是最重要的,分析也不是你自己一个人想出来的,也是要通过训练你在这方面的能力才行,不可能你什么都没学就能凭空想出来一个东西,那么你刚出生话都不会说字也不认识,能想的到吗,所以还是一个记忆的过程,可以说是一个训练思维的过程,你能想出来说明你之前做过这种题,你记住了这种思维,所以你能做出来,所以开始训练吧。原创 2024-05-22 10:52:57 · 881 阅读 · 0 评论 -
算法刷题day50:背包模型
在动态规划中这个背包问题还是比较重要的,用法很多变换也很多,因为本质上就是一个从 $n$ 件物品里选 $m$ 件使得收益最大的问题,这是一个决策性问题,动态规划相当于对原先暴力枚举的方案进行了一个加速,所以仔细一想这种问题还是非常之多的。然后根据选法制定了一些规则,使得背包问题分为很多种,然后今天打算全部复习一遍,也是一项很大的工程啊,那就开始吧,当然还是以题目的方式进行讲解。原创 2024-05-21 14:30:22 · 403 阅读 · 0 评论 -
算法刷题day49:线性DP—最长上升子序列模型
写完了线性 $DP$ 的十道题之后,我感觉得到了一种升华,今天花了大概七八个小时吧,感觉就是理解的越来越深了,以前都是背过来了,现在能明白有些东西为什么要这样,或者说还可以那样写。尤其是导弹防御的问题,让自己对暴搜和迭代加深的印象也越来越深了, $DP$ 和暴搜其实是一家的,而且要准备蓝桥杯国赛,主要就是准备 $DP$ 和暴搜,图论其后,剩余的就把基础课的东西整明白就行了,然后再针对性的多刷刷题,坚持下去,一定不会差,加油!原创 2024-05-19 17:50:45 · 1047 阅读 · 0 评论 -
算法刷题day48:线性DP—数字三角形模型
关于这个线性 $DP$ 我觉得出的概率还是很大的,因为比较的基础,但是稍微变一下就需要一点思考了,也就是举一反三的能力,所以我觉得这种题还是有可能的,属于是简单题但是需要点思维才能解出来。然后主要的类型就是数字三角形模型和最长上升子序模型,也就这两个,属于是一维、二维坐标系里取最值得一类,然后还是见的多了就会做了。讲解方式还是看题,其实本来我写博客就是为我自己方便复习用的,还是以实用为主啊,那就开始吧!原创 2024-05-17 21:05:29 · 570 阅读 · 0 评论 -
算法刷题day47
今天把所有的最短路算法和最小生成树算法又给复习了一下,有 $spfa,朴素版dijkstra,堆优化版dijkstra,floyd,prim,kruskal$ 这些算法全部都给写了个一遍,感觉还是很多都是很像的,比如说 $朴素版dijkstra和prim$ 简直是非常的相像,并且自我感觉这些算法已经很熟了,因为我最开始写模板就是写最短路算法的,估计已经写了快七八十遍了,但是今天写的时候还是感觉有点不太熟悉,可能是这几周各种比赛和事都比较多,也很迷茫所以状态也没有之前的那么好,心里总是静不下来,还是放松了,干原创 2024-04-24 17:00:38 · 643 阅读 · 0 评论 -
算法刷题day46
今天复习了一下高精度的所有模板,包括加法、减法、乘法、除法,因为自己当时在蓝桥杯的时候没有看出来那个题使用高精度,因为对于一个数的大小和一个数的长度,自己有时候搞不清楚概念,所以当时没看出来,一个数就算是 $long\ long$ 也只有 $18、19$ 那么长,所以得记住这个概念。然后就是树形 $DP$ 和状压 $DP$ 了,做了已经很多遍了,已经慢慢的理解了其深层含义,所以还是要先多做题然后才能明白其内涵,以后打算把基础课的题全部刷一遍,好好巩固基础,加油!原创 2024-04-23 19:27:45 · 860 阅读 · 0 评论 -
算法刷题day45
今天主要复习了图论里的最短路、$BFS、DFS、Flood\ Fill$ 算法,其实到现在感觉暴搜其实还挺好写的,现在刚好反过来了,不喜欢写 $BFS$ 了,确实跟做的熟练程度有关,然后这几天就是好好休息,把状态调整好就行了,该复习的基本都复习的差不多了,只要考场发挥好状态即可。原创 2024-04-11 15:44:19 · 1343 阅读 · 3 评论 -
算法刷题day44
今天也复习了状态压缩 $DP$ 和区间 $DP$ ,这两个题型,我觉得其实不是很难,但我目前也只写过这四道模板题,不知道其他问题怎么样,不过还是心态放好吧,做的出来的就能做出来,做不出来怎么都写不对,还剩两天,加油!原创 2024-04-10 17:30:59 · 918 阅读 · 0 评论 -
算法刷题day43
今天复习的是快速幂的剩余问题、质数、约数的问题,发现其实不难,都是在基础的模板上进行变化,但是不好想,基本自己是想不出来的,所以这种问题还是要事先做过之后才会做,所以得多刷题了,加油!原创 2024-04-10 12:02:16 · 731 阅读 · 0 评论 -
算法刷题day42
今天顺便也复习了一下背包问题和线性 $DP$ 问题,我觉得这种 $DP$ 问题,真的我要是没做过,考试我肯定做不出来,这种题我的状态本质就是记忆,先把各种模板背过,然后在模板的基础上去理解题,就成这种了,当然大部分板子还是理解了的,不然也不会全部记住。所以考试就不会就过就行了,加油吧!原创 2024-04-09 17:28:00 · 809 阅读 · 0 评论 -
算法刷题day41
今天复习的是归并排序、多路归并和区间合并,写完今天的感觉还是不错的,因为这部分比较简单,而且之前学的时候比较透彻,并且也曾多次回顾模板,因为这些题在很多题里都会用到,所以感觉比较亲切一点,听说今年的蓝桥杯代码量会比较大,我估计很大程度上就是要把多个知识点进行融合,但是我觉得应该思路不难,只要思路清楚了,其实就是搭积木而已,还是要有知识的积累量和代码模板的熟练程度就行了,继续加油!原创 2024-04-09 12:00:19 · 923 阅读 · 0 评论 -
算法刷题day40
今天复习的是贡献法和模拟/枚举章节,很多题写了,但是我就不一一展示了,因为确实感觉太麻烦了,我只把部分题展示出来。关于这个贡献法,我觉得题型比较单一,就是一看我就大概能知道用这种方法做,或许也是没见过太多题吧。然后就是枚举了,这几年的蓝桥杯主要就是在订单方面考察,不知道今年还出不出了,反正我的这种做法都能做出来,那就继续加油吧!原创 2024-04-08 20:20:01 · 1062 阅读 · 1 评论 -
算法刷题day39:树形DP
今天写了个树形DP,就是在树上的DP,其实每道题的总体是一样的,从代码上都能看出来,其实写多了感觉就是背之前写过的代码,其实也就是别人写过的代码,这种题基本就是这,死记硬背肯定是不行的,主要是理解大概的思路,然后再现场调,继续加油吧!原创 2024-04-05 16:59:06 · 1195 阅读 · 0 评论 -
算法刷题day38:快速幂
本篇文章主要介绍了快速幂,虽然我觉得自己已经掌握了,可是做起题来还是很生疏,尤其是做自己之前已经做过的题目,而且之前写的一个快速幂公式也有点问题,也给纠正了,所以还是要写写之前做过的有些难度并且已经生疏的题目啊,不然真的不做,跟没做一样,但是再做一遍就不一样了,比之前更清晰更深刻了些,加油!原创 2024-04-02 21:46:29 · 839 阅读 · 0 评论 -
算法刷题day37
今天主要刷了些 $DP$ 问题的题目,主要是现在越是难的竞赛,比如说蓝桥杯越来越难了,那么它就越容易偏向 $DP$ 上面靠,这类题代码非常的简单,主要是考察思维能力,而且一般现场是想不出来的,还得是之前做过同类型的题目才有可能做出来,所以得继续好好刷题了,加油!原创 2024-03-27 20:30:49 · 570 阅读 · 0 评论 -
算法刷题day36
今天先是把之前还不熟的模板都写了一遍,写了才能体会到,其实模板写了背了其实还是不顶用,还是要有大量的刷题积累,才能把模板发挥出来,不然真的你都看不出来模型,你怎么去做。所以得大量的刷题啊,加油吧!原创 2024-03-26 20:30:39 · 1275 阅读 · 0 评论 -
算法刷题day35
今天主要把蓝桥杯最近这几年来的模拟和枚举的题目全给做了一遍,整体来说这部分题还是比较的简单,不过随着知名度和人数的增加,我也感觉到明显越来越难了,所以得继续加油啊!原创 2024-03-24 17:30:01 · 1121 阅读 · 0 评论 -
算法刷题day34:并查集
今天写的题集是并查集,其实感觉有两个难点,一个是,要维护多余的信息和路径压缩,另一个难点则是抽象出来合并集合的这个操作,还是要不断地练习,看别人怎么去做,加油!原创 2024-03-20 21:51:19 · 539 阅读 · 0 评论 -
算法刷题day33
这几天一直再写关于搜索的问题,我发现搜索不仅仅局限于网格中的那种搜索,还有状态的变换,也可以抽象成一个点,去找最小变换次数,这也是一种搜索,所以说还是得好好练啊,加油!原创 2024-03-20 09:35:16 · 550 阅读 · 0 评论 -
算法刷题day32
本篇文章是讲 $BFS$ 的,我发现好像蓝桥杯都很爱考陆地海洋的这种问题,这种问题就是即使你的模板背的再熟练,你想不到做法其实还是没啥用,所以多做题很重要,加油!原创 2024-03-17 13:08:15 · 935 阅读 · 0 评论 -
算法刷题day31
这几天开始在 $devcpp$ 上编写代码了,然后复制代码到 $OJ$ 上去测评,然后就是非常的不适应,代码环境、背景颜色、编译选项的一些设置啥的都很不好,而且也错的很多,主要是一些低级错误,所以说细节还是不到位,因为蓝桥杯是以最后一次提交为准,而且也不会给你任何反馈,所以说自己得提前适应这个环境和比赛规则,加油!原创 2024-03-16 12:01:48 · 918 阅读 · 0 评论 -
算法刷题day30:递归
本篇文章主要讲了递归的一些题型,递归也是一种思想,主要是在各种题中显现这种思想,你必须要脑子里能够清楚它大概的一种路线是怎样的,或者说要抽象出来它的功能是干什么的,看成一个模块,这样写的时候才会好写,并且边界条件也会清楚一些,最主要还是要多练,加油!原创 2024-03-13 17:46:35 · 1119 阅读 · 0 评论 -
算法刷题day29:区间合并
区间合并这种题,是比较小的题,一般是不会直接出成一道题来考你的,一般思路都是给一道题,里面包含了各种的点,每一个点都需要一个想区间合并这样的知识点来破解,所以会是很重要的,并且要能抽象出各种模型的能力也是非常重要的,加油!原创 2024-03-12 16:52:59 · 970 阅读 · 0 评论 -
算法刷题day28
这几道题是周赛里的几道题目,第一道题目我没用这种方法,但还是做出来了,用的一种比较特殊的思考方法,就是把每一个点都判断出来,不满足要求的就舍弃,因为 $n$ 很小,所以就过了。但第二道题就不一样了,还是要有正确的思路,这样一下子就出来了,就不用太多繁琐的细节判断了,不过慢慢积累,下次见到就会了,加油!原创 2024-03-11 20:22:04 · 1050 阅读 · 0 评论 -
算法刷题day27:日期问题
日期问题在蓝桥杯中只要把常见的题型掌握明白了,把逻辑给写清楚明白,基本上是很简单的,再就是多做题,题型多见,做熟练,基本上问题不大,加油!原创 2024-03-11 15:53:21 · 556 阅读 · 0 评论 -
算法刷题day26:单源最短路的建图方式
今天刷题刷的是单源最短路问题,也就是图论中的搜索的问题,这个问题还是非常常考的,其实模板只要背熟了,理解到位了,剩下的主要是建图和一些细节的问题,除了背模板理解原理,再就是多刷题、多见题了,加油!原创 2024-03-09 20:24:05 · 882 阅读 · 0 评论 -
算法刷题day25:多路归并
关于这个多路并归蓝桥杯考的不是很多,如果要出的话,可能模型都会差不多,因为不会出太难的题,难题基本上都是贪心、DP之类的,所以好好刷题刷熟练就行了,见过熟悉即可,加油!原创 2024-03-08 19:49:33 · 956 阅读 · 0 评论 -
算法刷题day24:归并排序
关于这个归并排序,考察的还是挺多的,在笔试面试中会问你,或者直接让你写一个归并排序,还有竞赛中有时也会考察,不过一般都是小题,主要是考察递归和递推,看你对这个过程的理解,所以还是很重要的,加油!原创 2024-03-06 22:16:35 · 647 阅读 · 0 评论 -
算法刷题day23:双指针
关于这个双指针算法,主要是用来处理枚举子区间的事,时间复杂度从 $O(N^2)$ 降为 $O(N)$ ,所以还是很方便的,而且枚举这类题出的还是很常见的,所以这个算法还是尤为重要的。加油!原创 2024-03-05 14:41:35 · 1026 阅读 · 0 评论 -
算法刷题day22:差分
本篇博客的内容是差分的习题,这个差分就是统计数值和次数的,题型基本上都很简单,只要做的的话一般来说第二次都会了,主要是有些题型第一次做可能会想不到,所以这就要靠刷题来凑了,继续坚持吧,拼的就是记忆力和毅力,加油!原创 2024-03-04 10:01:01 · 1170 阅读 · 0 评论 -
算法刷题day21:前缀和
昨天写二分题写的我非常的郁闷,差点否认了自己,幸好昨天死磕找回了信心,今天做前缀和使信心大增,感觉还是很好的,所以只要坚持下来还是会有很好的结果的。加油!本篇博客讲的是前缀和的知识,只要基本概念清楚题目都比较简单,也没什么弯弯绕绕的,想说还是拼的是记忆力和毅力,加油!原创 2024-03-03 11:24:01 · 874 阅读 · 0 评论 -
算法刷题day20:二分
这几天一直在做二分的题,都是上了难度的题目,本来以为自己的二分水平已经非常熟悉了,没想到还是糊涂了一两天才重新想清楚,想明白,还是得继续不断地刷题,把这些类型的题刷明白,刷透了,就可以了,加油!原创 2024-03-02 14:53:58 · 1679 阅读 · 0 评论 -
算法刷题day19
这几题主要都是考察数学,如果数学学的不好,推不出来公式,或者是你的数学思维不好都是做不出来的,所以说数学真的很重要,不过其实能考的数学也就那几个,无非就是很多而已,把常见的题型会了就行了,加油!原创 2024-02-28 09:11:12 · 1019 阅读 · 0 评论 -
算法刷题day18
本章内容实际上是对[线性DP](https://blog.csdn.net/weixin_60033897/article/details/136084533?spm=1001.2014.3001.5502)的一个扩展内容,线性DP主要是DP的一个分类,就是它的状态转移方程是线性的,就是一维一维的,其实我也没理解,人家就是这样说的,反正这种问题就是见题了,见一题做一题,理解一题,会做一种类型题,再难的一般是见不到的,所以就好好刷题就行了,还是记忆力和毅力,加油!原创 2024-02-26 16:42:34 · 783 阅读 · 0 评论 -
算法刷题day17
今天是过完年的新的一天,做了三道题,接触到一个新的概念叫贡献法,也是一种不错的解题思路,只要一直坚持下去,就一定能取得胜利,加油!原创 2024-02-26 09:58:58 · 327 阅读 · 0 评论