算法
creator_Li
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
算法题题单
luogu P1395 P1395 会议 - 洛谷原创 2025-10-13 08:58:10 · 296 阅读 · 0 评论 -
图论:floyed算法
Floyd 算法是一种用于寻找加权图中所有顶点对之间最短路径的经典算法,它能够处理负权边,但不能处理负权环。该算法的时间复杂度为 \(O(V^3)\),其中 V 是图中顶点的数量。Floyd 算法的核心思想是动态规划。它通过逐步引入中间顶点来不断更新任意两点之间的最短路径。原创 2025-05-26 10:05:08 · 620 阅读 · 0 评论 -
快速幂fast_pow
快速幂算法是一种高效计算幂运算的算法,其核心思想是利用指数的二进制分解,把幂运算的时间复杂度从 O(p) 降低到 O(logp)。原创 2025-04-09 16:19:04 · 682 阅读 · 0 评论 -
分解质因数
【代码】分解质因数。原创 2025-04-09 13:34:10 · 267 阅读 · 0 评论 -
Trie(算法版)
每当我们遇到一个新的字符且当前节点没有对应的子节点时(即son[p][u]为0),我们就需要创建一个新的节点,并更新son[p][u]为新节点的编号。同时,idx自增,用于分配新节点的编号。通过这种方式,Trie树可以动态地构建,插入和查询操作都能高效完成。假设情境1096:我们有一个Trie树,开始时是空的。我们现在要插入以下两个单词:cat和car。原创 2025-01-18 23:58:30 · 598 阅读 · 0 评论 -
Tire字典树
【代码】Tire字典树(未完成)原创 2025-01-02 20:25:17 · 143 阅读 · 0 评论 -
算法:单调栈
给定一个数组,输出每个元素左边第一个比它小的元素。具体做法是,从左到右遍历数组,对于每个元素,如果栈非空且栈顶元素大于等于当前元素,则不断弹出栈顶元素,直到栈为空或栈顶元素小于当前元素。此时,栈顶元素即为当前元素左边第一个比它小的元素(如果不存在则为-1)。然后将当前元素入栈。时间复杂度:由于每个元素最多被压入和弹出栈一次,因此单调栈的时间复杂度为O(n),其中n为数组的长度。这使得单调栈在处理大规模数据时具有高效性。单调栈是一种具有单调性的栈数据结构,分为单调递增栈和单调递减栈。原创 2025-01-01 13:10:42 · 523 阅读 · 0 评论 -
【位运算】统计二进制中1的个数
这个算法的思路是利用了一个特性:对于一个整数。的二进制表示中最右边的 1 变为 0。原创 2024-12-19 13:04:41 · 741 阅读 · 0 评论 -
位运算判断一个数是否为2的幂
位运算原创 2024-12-18 20:54:06 · 243 阅读 · 0 评论 -
高精度加法
【代码】高精度加法。原创 2024-12-10 23:40:43 · 443 阅读 · 0 评论 -
快速幂--求 n^x (n的x次幂)
【代码】快速幂--求 n^x (n的x次幂)原创 2024-12-09 18:35:27 · 246 阅读 · 0 评论 -
判断素数.
一个数若可以进行因数分解,那么分解时得到的两个数一定是一个小于等于sqrt(n),一个大于等于sqrt(n),据此,对上面的代码进行优化,上面的代码并不需要遍历到n-1,遍历到sqrt(n)即可,因此若sqrt(n)左侧找不到约数,那么右侧也一定找不到约数,因此只需要遍历到即可。原创 2024-12-07 19:27:58 · 297 阅读 · 0 评论
分享