
算法
文章平均质量分 69
算法入门
CaF3
Hello world.
展开
-
快速数论变换(ntt)
所以,如果我们能找到一个可以避免浮点数运算且具有这三个性质的东西,那么我们就能用它来替换单位根,以此来避免误差。,则称a为模p的一个原根。由此可得,原根具有蝴蝶变换所需的三个性质,故可以替换单位根。实际应用时,一般取p=998244353,g=3。中带有三角函数,计算会产生浮点数,带来误差。假设p是正整数,a是整数,a与p互素。的最小的n,我们称之为a模p的阶,记作。定理:若p为素数,g为p的原根,那么。假设p为素数,g为p的一个原根。若a与p互素且p>1,对于满足。,故3是模7的一个原根。原创 2025-01-20 15:18:35 · 1171 阅读 · 0 评论 -
快速傅里叶变换(fft)
对于n次多项式fxa0a1xa2x2⋯anxn,若知道其n+1个系数,即可确定这个多项式。原创 2025-01-19 21:17:32 · 1102 阅读 · 0 评论 -
位运算及常见用途
位运算是什么?有什么用?由电路图引出带你揭开位运算的神秘面纱。原创 2022-08-04 21:44:21 · 2008 阅读 · 1 评论 -
排序大全插入排序及其改进排序
插入排序简介:插入排序(英语:Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。0.插入排序def insertionSort(A, n): for i in range(n): t = A[i]原创 2022-05-22 22:52:57 · 220 阅读 · 0 评论 -
排序大全之冒泡排序及其改进排序
冒泡排序及其改进!!!冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。原创 2022-05-08 22:35:58 · 557 阅读 · 0 评论 -
递归(5个例子)
1.递归欧几里得def gcd(a, b): if b == 0: return a return gcd(b, a % b)2.递归快速幂def quick_pow(x, n): if n == 0: return 1 res = quick_pow(x * x, n >> 1) if n & 1: res *= x return res3.递归汉诺塔def hanoi(n,原创 2022-04-04 10:05:28 · 1722 阅读 · 0 评论