算法模板
记录常见的算法模版,在考试中事半功倍!
米花男团
感谢关注,qq:2420638649
展开
-
数论技巧——使用线性筛法去求1~n之间欧拉函数的和
第一个性质很好证明第二个证明如下:已知p^k一定可以整除 p,p^2,p^3......p^k-1那么我们可以得出,在p^k-1与p^k之间,不可能存在别的数能整除p (p是质数)在一个循环节中,我们可以知道共有(p-1)个数是与p互质的,那么个数是(p-1)并且循环节一共有p^k-1个,所以定理二成立定理三的证明读者可自行查阅资料(本觏婼不会)欧拉函数的计算公式:由唯一分解性定理可知,n = p1^a1*p2^a2......pk^ak则φ(n) =φ(pi^ai)p^ai*原创 2024-09-09 23:42:39 · 1201 阅读 · 0 评论 -
使用图论技巧——有遍数限制的最短路
给定一个 n个点 m 条边的有向图,图中可能存在重边和自环,。请你求出从 11 号点到 n 号点的最多经过 k 条边的最短距离,如果无法从 1 号点走到 n 号点,输出impossible。注意:图中可能。原创 2024-09-08 18:47:00 · 348 阅读 · 0 评论 -
有关质数问题——教会你几种筛法
从2开始,删掉每一个数的倍数,剩下来的就是质数。原创 2024-08-26 21:32:52 · 199 阅读 · 0 评论 -
图中的最短路——两种dijkstra写法
【代码】图中的最短路——两种dijkstra写法。原创 2024-04-26 16:29:46 · 163 阅读 · 0 评论 -
数字游戏——常见的三种模型
前两个要求按照字典序进行输出。原创 2024-04-17 13:09:12 · 294 阅读 · 0 评论 -
实用算法模板——字符串哈希
【代码】实用算法模板——字符串哈希。原创 2024-04-16 22:12:31 · 83 阅读 · 0 评论 -
实用算法模版——堆排序
【代码】实用算法模版——堆排序。原创 2024-04-16 16:30:15 · 260 阅读 · 0 评论 -
实用数据结构——双链表
【代码】实用数据结构——双链表。原创 2024-04-15 14:31:59 · 198 阅读 · 0 评论 -
实用数据结构——Trie字符串树
Trie树支持快速的插入和查询字符串。原创 2024-04-15 11:49:02 · 289 阅读 · 0 评论 -
实用算法模板——kmp字符匹配算法
【代码】实用算法模板——kmp字符匹配算法。原创 2024-04-15 09:55:44 · 163 阅读 · 1 评论 -
分解质因数
【代码】分解质因数。原创 2024-04-13 23:51:55 · 149 阅读 · 1 评论 -
实用算法模版——高精度的加减乘除
高精度加法:高精度减法:高精度乘法:高精度除法:感谢查看,喜欢就点个赞吧!原创 2024-04-13 22:38:46 · 139 阅读 · 1 评论 -
经典动态规划问题——最长公共子序列
分析思路:解答代码:感谢观看,喜欢就点个赞吧原创 2024-04-12 16:07:09 · 106 阅读 · 0 评论 -
经典动态规划问题——最长上升子序列
dp[i] 的含义:以i结尾的最长的子序列。原创 2024-04-12 15:37:30 · 105 阅读 · 0 评论 -
实用算法模版——合并区间
上代码:感谢查看,喜欢就点个赞吧!原创 2024-04-12 15:12:22 · 202 阅读 · 0 评论 -
实用数据结构——单链表
2.在第k个插入的数后插入一个数(这里并不是链表中第k个数)使用数组构造的链表代码更简短,运行效率更高。每个数据节点都是由数据域和指针域共同构成。3.删除第k个插入的数的后面的一个数。下面给出这三种操作的实现方式。1.向头结点后插入一个数。原创 2024-04-12 13:24:17 · 347 阅读 · 0 评论 -
使用数据结构——二维滑动窗口,很有难度
3.后根据偏移量得出矩阵中的最值。2.求每一行的最小值/最大值。1.将二维问题转化成一维。原创 2024-04-11 16:46:56 · 406 阅读 · 0 评论 -
实用数据结构——单调栈,看不懂你打我
为了更好说明问题,我们借用acWing上的一道题目。单调栈存储是前一个小的元素。原创 2024-04-11 14:38:17 · 448 阅读 · 0 评论 -
实用算法模板——滑动窗口
为了更好的说明这个问题,我们借用acWing上的一道题目。解法二:使用数组模拟队列,运行速度更快。解法一:使用stl中的双端队列求解。原创 2024-04-11 13:56:39 · 737 阅读 · 0 评论 -
实用数据结构——并查集
1.询问两个元素是否在同一个集合中。2.将两个元素合并到同一个集合。原创 2024-04-10 15:02:17 · 423 阅读 · 1 评论 -
排序算法模板
快排的基本思想是取数列中的中间位置mid,让mid左侧的值都小于mid,mid 右侧的值都大于mid;归排的操作顺序刚好和快排相反,先分治后合并,就是有序的数列;然后递归调用,细分区间,直到该数列有序。要注意需要一个辅助数组来记录中间的值。原创 2024-04-09 15:34:51 · 119 阅读 · 0 评论