高级算法
文章平均质量分 61
materialistOier
这个作者很懒,什么都没留下…
展开
-
细讲状态压缩DP专题(2023.7.26前完成)
CF580D, CF1391D,CF8C,CF417D原创 2023-07-24 13:42:17 · 468 阅读 · 1 评论 -
C++ 算法知识体系的构建详解(持续更新)
高老师亲身经历不断思考得出的部分结论,由我接手记录完善传承原创 2023-07-11 18:17:48 · 251 阅读 · 0 评论 -
ST表算法
ST表算法原创 2023-05-25 07:00:09 · 781 阅读 · 0 评论 -
矩阵乘法 算法
最简练的语言讲述矩阵乘法原创 2023-01-29 21:36:40 · 448 阅读 · 0 评论 -
前缀和&差分算法
2023.1.9 重学了前缀和与差分算法,特此写一篇小博客。原创 2023-01-12 14:48:53 · 400 阅读 · 0 评论 -
快速幂算法
算法都是因为需求而推出来的。时间复杂度: O(log(b))原创 2022-11-13 19:48:40 · 262 阅读 · 0 评论 -
图论深度优先搜索进阶
之前写过一篇博客图的搜索:https://blog.csdn.net/weixin_42178241/article/details/125956595主要讲述了基础的BFS和DFS。原创 2022-08-16 10:13:05 · 74 阅读 · 0 评论 -
二分算法解析
前天做了一些二分题目,觉得还是讲一讲单次普通二分时间复杂度O(log(n))log(n)=>几个2相乘等于n应用场景限制多,时间优化真的快。原创 2022-08-11 21:34:18 · 154 阅读 · 1 评论 -
拓扑排序Kahn算法
拓扑排序,整体是给出n个事件先后关系,来确定n个事件最终的先后关系。原创 2022-08-01 20:39:29 · 167 阅读 · 0 评论 -
三维坐标系距离
代码】三维坐标系距离。原创 2022-07-28 15:53:35 · 362 阅读 · 0 评论 -
最短路Dijkstra和最小生成树Prim算法的同异
最小生成树https//blog.csdn.net/weixin_42178241/article/details/126030730。最短路径https//blog.csdn.net/weixin_42178241/article/details/125976389。最短路是求离源点最近的点的权值和,而最小生成树找的是离孤岛最近的且合法的边。最短路和最小生成树每次都是选取没有扩展且权值最小的,去扩展其他点。...原创 2022-07-28 13:59:30 · 125 阅读 · 0 评论 -
最小生成树
之前讲过最短路,是求两点之间的最短路径。最小生成树,是指有n条边,m个点(n>=m),寻任意条边,连接每一个点,使边权之和最小;保证有解{保证有解}保证有解。原创 2022-07-28 13:27:09 · 277 阅读 · 0 评论 -
并查集算法
主要是访问自己的祖先,每个点初始化祖先节点编号为本身编号,在进行操作。如果i的祖先就是i,i就是祖先。并查集就这么简单,消化一下。原创 2022-07-27 14:20:53 · 88 阅读 · 0 评论 -
Tarjan算法
Tarjan有点难,发篇博客解释一下。原创 2022-07-27 14:06:51 · 54 阅读 · 0 评论 -
最短路径算法
最短路径还是图论的一种,和BFS,DFS一样有三种建图方式,不过我们引入了2个新概念。单源最短路(只能算从一个源点开始,到其他节点的最短路)最短路径的求法思路有3大种,代码优化实现总共5种。分3种,已知最短路,求出短路不确定是否最短,未求。之前讲解了BFS&DFS基本场景与演化。,不能用BFS,DFS按照层次去算了。其他节点的最短路,分别后续扩展。,dis[s]=0(s源点)最后dis的值就ok了。............原创 2022-07-26 14:52:15 · 363 阅读 · 0 评论 -
图的遍历(BFS&&DFS基础)
之前我们讲了图的存储,图最终的目的是进行遍历的,遍历的方式有哪些,我们一一分解。(图的认识与存储https队列。原创 2022-07-24 11:11:07 · 399 阅读 · 0 评论 -
算法-差分算法
差分算法前言本人理解经典题型题意前言大家一开始看到差分是不是感到一股高大上的感觉呢?其实只要学过前缀和的人,都能很快get到差分算法(大佬勿喷)。本人理解差分简单说就是前缀和知识点扩展的版本,但并不能说是前缀和的优化版本。经典题型题意有一个由n个元素所组成的数组a,有m次操作每次操作对数组第x个元素到第y个元素+z,操作完成后a数组序列输出。...原创 2022-03-07 19:51:26 · 1661 阅读 · 0 评论 -
algorithm头文件下的操作
algorithm下的操作方式algorithm介绍基本操作max()min()abs()fabs()swap()中等操作sort()reverse()fill()next_permutation()高级操作lower_bound()upper_bound()后言algorithm介绍algorithm是C++语言中的一个非常重要的头文件,里面提供了大量基于迭代器的非成员模板函数非常多。那我来带大家认识认识。基本操作相信这些大家都基本了解。max()作用:给定的两个数,返回较大数。写法: i原创 2021-12-06 20:13:33 · 906 阅读 · 0 评论 -
DP-线性DP
DP-线性DP线性DP简介线性DP主要是一维思想将问题DP优化(了解DP问题)。线性DP分类路径问题1. 路径最优解2. 路径计数硬币问题序列问题1. 前缀和2. 部分和3. 最大和4. 最长 上升/不上升/下降/不下降 子序列 (注意:上升和下降不代表 “ = ” )5. 最大 上升/不上升/下降/不下降 子序列和6. 最长公共子序列 (学习中……)7. 最长公共 上升/不上升/下降/不下降 子序列 (不太会)8. 特定要求下计数问题9. 特定要求下最优解问题分苹果原创 2021-11-27 21:24:54 · 550 阅读 · 0 评论 -
DP问题简介
DP问题简介DP问题主要是解决全局最优解,与贪心不同,贪心只针对于局部最优解(后面解释dp性质时会知道原因)。DP问题性质重叠子问题(分治):把一个大问题分成若干个处理方式相同的子问题继续解答无后效性:每一个子问题对他的来源父问题没有影响(不用贪心的原因)最优子结构:保证求得答案为最优解DP问题解答步骤在DP解答过程中,每次在求得一种状态所对应答案时,都需要调用之前已求解的状态所对应的答案状态定义:状态格式及其所代表的意思状态初始化:一些特殊状态的赋值(不用算就知道)状态转移方程:原创 2021-11-08 20:30:18 · 1420 阅读 · 0 评论 -
DP-背包问题
DP-背包问题DP-背包简述背包问题简单概括就是一个背包有一定容量,装一些物品,每个物品都有重量和价值怎样装价值总和最大?(特殊要求见题目叙述)DP-背包分类01-背包完全背包多重背包分组背包(不太会)01-背包01-背包1.状态定义: f[i][j]表示前i个物品当背包重量刚好剩余j时,能获得的最大价值、2.状态初始化: f[0][i] = f[i][0] = 0 | 0<=i<=m |3.状态转移方程:1)考虑第i个物品选不选(1)不选 f[i][j]=f[i原创 2021-11-08 21:46:05 · 328 阅读 · 0 评论