个人经历与感受:
本周六也就是4月13号蓝桥杯竞赛,时间还剩下不到两天,我也是一名大一新生第一次接触这个竞赛,最开始只是单纯的抱着觉得算法有意思于是就开始接触算法,到此时此刻,我也发布了很多有关算法的文章,也是对于自己有些许的收货吧,我作为一个双非院校的学生,虽然个人对算法很喜欢,但是也是知道因为学历的原因不可能靠着算法吃饭,所以知识单纯的把算法的学习当成自己的一个兴趣爱好,也希望每一位看到我的博客可以学到些什么吧哈哈哈。
以下内容是我个人目前对于算法学习的模板,希望大家斟酌看看,只是个人对于算法的些许理解,不喜勿喷哈。
1.快速幂:
快速幂----递归方法-CSDN博客
快速幂用到了分冶的思想,模板很简单,推荐看看。
2.前缀和:
前缀和主要常见的是一维与二维,为了计算前缀和主要是利用递推的思想。我观察十三届十四届都有考到前缀和的知识点,所以可以适当看看。
前缀和(一维+二维)-CSDN博客
随后看完也可以上蓝桥云课搜索一下统计子矩阵这道题,二维前缀和的滑动窗口。
3.差分:
对于差分的理解,我认为要理解差分的性质,以及差分数组与原数组与前缀和数组的关系,我们可以通过差分数组找出每个相连数的关系,就比如如果差分数组内的数都等于0,那么其原数组的数肯定会相等,如果差分数组每个数都等于1,那么其原数组就会构成等差数列,其d=1。
差分(一维+二维)-CSDN博客
在我的专栏---习题库中习题可以see一下。
4.尺取法:
对于尺取法,其实就是遍历数组的一种方式,也就是滑动窗口。
尺取法(指针移动)-CSDN博客
5.gcd与lcd:
最大公约数求法模板:(我比较喜欢记成bbaba)
int gcd(int a,int b)
{return b ? gcd(b , a % b) : a;
}
最小公倍数就是:
int lcd = a * b / gcd(a , b);
6.位运算:
2 ^ n -> 1 << n
2 * n -> n << 1
还有就是二进制压缩:
取出整数n在二进制表示下的第k位:(n >> k) & 1 (解析:将十进制转换二进制,并判断当前第k位是否为1,如果=1则返回真),通过这个一般可以进行选与不选的操作,eg:如果有五个灯泡,请你表示其开关的组合方案,那么我们就可以用1代表开灯0代表关灯,利用for循环枚举2^5也就是1 << 5,例题可以参考简单看看下面的这道题:Acwing95 --- 费解的开关-CSDN博客
实在记不住就是利用DFS的指数型枚举模板。
7.质数:
这里给大家带来的是埃氏筛法的模板:
如何进行计算1-n内有多少素数----埃氏筛法-CSDN博客
8.dfs算法:
这个暴搜算法,我也是花了很长时间理解,但是就是感觉无非还是利用集合的方法进行分析,就拿这道题:Acwing165 --- 小猫爬山(DFS)-CSDN博客举个例子,这道题就很明显了,通过划分两个集合的角度进行分析。但是这个其实就是根据三个模板的基础上分析的:
(1)DFS(指数型枚举)-CSDN博客
(2)DFS(组合型枚举)_组合型枚举dfs-CSDN博客
(3)DFS(排列型枚举)-CSDN博客
这里给大家带来的习题是数字三角形这道题:(这道题更推荐用DP来做题)
dfs + 记忆化搜索_dfs加上记忆化-CSDN博客
还有就是上一届考的飞机降落,也是需要好好看看这种类型题的。
还有一种就是利用dfs走迷宫或遍历图(连通性判断):DFS算法详解 ---- 走迷宫-CSDN博客
9.bfs算法:
bfs我目前接触的能用到这个的也就是最短路径,如果N > 20那么就要用BFS来替换DFS。
这里我写的文章仅仅是BFS走迷宫:BFS与队列以及DFS与BFS的区别-CSDN博客
后序会继续更新的...
10.动态规划:
这个dp我是真服了,到现在也是一头雾水,那个李白打酒加强版也是刚刚弄明白(哭s),我也仅仅可以带来DP的一堆模板供大家参考一下,据我的分析线性DP问题大多数是建立在背包问题的基础上,这也是为什么那么多博主特别喜欢讲九大背包(这里推荐去Acwing学习闫式DP分析法,我的DFS也是在这个基础上精进点的,非常感谢y总),九大背包代码也是给大家总结出来了:
动态规划(DP)---- 背包代码-CSDN博客
线性DP问题还有就是建立在子序列模板的基础上进行解题:动态规划(DP)---- 子序列_子序列dp-CSDN博客
还有一堆什么区间DP我也是后来因为脑袋不够用,以至于仅仅学习了石子合并:动态规划(DP)---- 区间DP-CSDN博客
另外,如果想研究DP的话,我感觉吧先看y总进行分析,然后将九大背包整明白了,就去b站找代码随想录,Carl讲的还是很不错的,然后看完习题在回来刷Acwing的背包题。
专栏管理-CSDN创作中心
数据结构:
额,如果要是想看数据结构恐怕我无法给你太大帮助,仅能给你这篇文章参考一下:
二叉树习题 ---- 对称,翻转,最大or最小深度(无解析)-CSDN博客
啊,忘记了,还有二分模板也要看看,我对于二分不太明白,所以没有发一些题解,不好意思。
蓝桥杯日期问题 :
蓝桥杯很喜欢在填空题考日期问题,下面的博客是有关日期问题的模板。
蓝桥杯 --- 日期问题模板-CSDN博客
蓝桥杯复习(新手):
我感觉以我大一的远见把DFS整熟练了比较好,蓝桥杯根据我的学长所说就是暴力杯,掌握DFS暴力解题应该差不多吧哈哈哈,上面也就是我目前的视野与分析,仅仅作为参考就可以了,也希望有大佬能够在评论区发表自己的学习经历,感谢收看啦,祝愿各位能在第十五届蓝桥杯能有所收获,加油!!!