算法
文章平均质量分 68
dingjiapeng1234
无知时诋毁原神,懂事时理解原神
成熟时追随原神,幻想中成为原神
展开
-
Polya
定义集合 GG 和作用与集合 GG 的二元运算 ××若其满足以下 44 个性质,则称其为一个群(Group)(Group),记为 ( G,× )( G,× ):1.1. 封闭性 (Closure)(Closure)若存在 aa 和 bb 满足 a∈G,b∈Ga∈G,b∈G ,则有 a×b∈Ga×b∈G2.2. 结合律 (Associativity)(Associativity)对于任意 a,b,ca,b,c 有 (a×b)×c=a×(b×c)(a×b)×c=a×(b×c)原创 2024-08-30 22:28:59 · 749 阅读 · 0 评论 -
栈
考虑一个容器,一端封死(称为栈底,bottom)。想向容器中加入元素,只能从另一端(称为栈顶,top)逐个加入。因为容器内的元素不能改变顺序,所以在从容器中去除物品只能按照从栈顶到栈底的顺序逐个取出。数组可以很好的模拟栈。数组的开头(0)一侧可以看作不可移动的栈底,只需要维护一个栈顶指针,表示栈顶的。一般而言,如果希望用 STL 实现 stack,可以考虑使用。作为封装好的栈,但是其底层内存分配逻辑是。栈(stack)是一种后进先出的数据结构。原创 2024-08-22 18:56:47 · 128 阅读 · 0 评论 -
矩阵快速幂
什么是矩阵运算呢?在理解这个问题前,我们先要知道什么是矩阵百度百科给的定义如下矩阵是一个按照长方阵列排列的复数或实数集合复数实数什么的我们先不管,总之,矩阵就是一堆数,按照矩形排列形成的集合那么,我们所需要记录的也就是它的长、宽以及矩阵中存储的元素特殊的,长宽相等的矩阵我们定义它为方阵当两个矩阵的长宽相等时,我们认为这两个矩阵为同型矩形。原创 2024-07-16 22:18:24 · 312 阅读 · 0 评论 -
Dirichlet 前缀和
用倍数法进行贡献,时间复杂度为 O(nlogn)O(nlogn),更具体地这个 loglog 是 lnln,这样的复杂度可以拿到 8080 分。所以我们考虑以唯一分解定理为基础,进行高维前缀和的处理,从而做到优化时间复杂度的目的。因而,我们可以对于每一个素数开一维数组,处理高维前缀和——就如同二维、三维前缀和一般。类似于埃氏筛的时间复杂度证明,这份代码的时间复杂度为 O(nloglogn)O(nloglogn)。首先将素数用 O(n)O(n) 的欧拉筛筛出来,然后处理每个素数的贡献。原创 2024-07-16 22:16:43 · 314 阅读 · 0 评论 -
Prufer 序列
序列可以将一个带标号 nn 个结点的树用 [1,n][1,n] 中的 n−2n−2 个整数表示。也是无根树与数列之间的双射。原创 2024-07-16 22:14:41 · 679 阅读 · 0 评论