- 博客(14)
- 资源 (2)
- 收藏
- 关注
原创 快速数论变换(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
1124
1
原创 排序大全插入排序及其改进排序
插入排序简介:插入排序(英语:Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。0.插入排序def insertionSort(A, n): for i in range(n): t = A[i]
2022-05-22 22:52:57
216
原创 排序大全之冒泡排序及其改进排序
冒泡排序及其改进!!!冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。
2022-05-08 22:35:58
555
原创 递归(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
1708
原创 矩阵求逆(伴随阵法C++)
先来一段百度百科上的搜索结果:伴随阵法定理:n阶矩阵为可逆的充分必要条件是A非奇异,且:其中,是|A|中元素的代数余子式;矩阵称为矩阵A的伴随矩阵,记作A*,于是有。用此方法求逆矩阵,对于小型矩阵,特别是二阶方阵求逆既方便、快阵,又有规律可循。因为二阶可逆矩阵的伴随矩阵,只需要将主对角线元素的位置互换,次对角线的元素变号即可。若可逆矩阵是二阶或二阶以上矩阵,在求逆矩阵的过程中,需要求9个或9个以上代数余子式,还要计算一个三阶或三阶以上行列式,工作量大且中途难免出现符号及计算的差错。对于求
2022-02-15 14:04:59
2956
原创 矩阵的行列式(递归C++)
一个n×n的方阵A的行列式记为det(A)或者|A|,一个2×2矩阵的行列式可表示如下:把一个n阶行列式中的元素aij所在的第i行和第j列划去后,留下来的n-1阶行列式叫做元素aij的余子式,记作Mij。记Aij=(-1)i+jMij,叫做元素aij的代数余子式。例如:一个n×n矩阵的行列式等于其任意行(或列)的元素与对应的代数余子式乘积之和,即[1]:...
2022-02-14 14:30:40
2557
原创 公交汽车C++
一个特别的单行街道在每公里处有一个汽车站。顾客根据他们乘坐汽车的公里使来付费。例如下表就是一个费用的单子。 没有一辆车子行驶超过10公里,一个顾客打算行驶n公里(1< =n< =100),它可以通过无限次的换车来完成旅程。最后要求费用最少。...
2022-02-11 15:11:10
1207
1
原创 最大体积(动态规划)
题目描述每个物品有一定的体积(废话),不同的物品组合,装入背包会占用一定的总体积。假如每个物品有无限件可用,那么有些体积是永远也装不出来的。为了尽量装满背包,附中的OIER想要研究一下物品不能装出的最大体积。题目保证有解,如果是有限解,保证不超过2,000,000,000如果是无限解,则输出0...
2022-02-09 12:18:48
645
2
原创 Wilson‘s theorem(威尔逊定理)
若p∈N*,==(p - 1)! ≡ -1 ( mod p )==且p≠1是p是质数的充要条件。由此,设p∈N*且p≠1,若(p - 1)! + 1 ≡ 0 ( mod p ),即设(p - 1)! + 1 = k, 若p | k,则p为质数。##证明充分性如果“p”不是素数,当p=4时,显然(p-1)!≡6≡2( mod p ), 当p>4时,若p不是完全平方数,则存在两个不等的因数a,b使得ab=p,则(p-1)!≡nab≡0( mod p );若p是完全平方数即p=k2,因为p>4
2022-02-02 09:28:26
5523
原创 C++中函数的可变参数列表
** 1. 缺省参数实现可变参数列表(差的方案)**当我们在写一个参数个数未知而类型确定的函数(如计算多个整型数字的平均数)时,可以用函数的第一个参数表示后面的参数个数,并定义多个缺省参数,在函数体内读取相应个数的参数。#include <iostream>using namespace std;float average(int number, int a, int b = 0, int c = 0, int d = 0, int e = 0){ float sum = a;
2022-01-09 22:58:31
3689
3
原创 C++函数指针做参数的方法
1.声明函数void function(int (*functionpointer)(int), int num)上述代码声明了一个以一个带有一个整型参数的整型函数和一个整型变量作为参数的函数。2.调用函数
2022-01-07 21:46:38
1130
原创 C++用函数作为参数的方法
#include <iostream>using namespace std;int f(int x){ return x * 2;}void map(int (*fp)(int x), int *a)//fp为带有一个整型参数的整型函数{ for(int i = 0; a[i] != 0; i++) a[i] = fp(a[i]);}void output(int *a){ for(int i = 0; a[i] != 0; i++) cout <&
2022-01-07 18:06:02
3899
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人