05 2021 档案
摘要:费马小定理 费马小定理 定义:若$p$为素数,\(gcd(a,p)=1\),则$a^\equiv1(mod:p)$。 另一个形式:\(a^p\equiv a(mod\:p)\)。 费马小定理降幂:\(a^m\equiv a^{m\%p}(mod\:p),gcd(a,p)=1\)。 证明: 方法一:数
阅读全文
摘要:快速乘 在我们进行乘法运算的时候,很多情况下会爆$long:long$,所以我们急需寻找一种高效的方法来完成乘法运算并且不会爆$long:long$。 一、复杂度为$o(logN)$的快速乘 移位快速乘,思想是把$a\times b%p$中的$b$,对其进行二进制拆分,把$b$拆成二进制形式。\(a
阅读全文
摘要:如果你不知道什么是中国剩余定理,你可以@它。 猜数字 现有两组数字,每组$k$个,第一组中的数字分别用$a_1,a_2,\dots,a_k$表示,第二组中的数字分别用$b_1,b_2,\dots,b_k$表示。其中第二组的数字是两两互素的。求最小的$n\in N$,满足对于$\forall i\in
阅读全文
摘要:孙子定理 孙子定理,又称之为中国剩余定理(Chinese Remainder Theorem, CRT)可以求解如下形式的一元线性同余方程组(其中$n_1,n_2,\dots,n_k$两两互质)。 \[ \begin{cases} x\equiv a_1(mod\:n_1)\\ x\equiv a_
阅读全文
摘要:逆元 什么是逆元 对于正整数$a$和$m$,如果有$a\times x\equiv1(mod:m)$,那么就把这个同余方程中$x$的最小正整数解叫做$a$模$m$的逆元。 求一个数的逆元 扩展欧几里得算法求逆元 对于$a\times x\equiv1(mod:m)$我们可以做一个公式推导: \(a\
阅读全文
摘要:点击这里^ - ^,有奇迹哟 869.试除法求约数 给定$n$个正整数$a_i$,对于每个整数$a_i$,请你按照从小到大的顺序输出它的所有约数。 输入格式 第一行包含整数$n$。 接下来$n$,每行包含一个整数$a_i$。 输出格式 输出共$n$行,其中第$i$行输出第$i$个整数$a_i$个整数
阅读全文
摘要:约数 什么是约数 约数,又称之为因数。整数$a$除以整数$b(b!=0)$除得的商正好是整数而没有余数。我们就说$a$能被$b$整除,或$b$能整除$a$。$a$称为$b$的倍数,$b$称为$a$的约数。 约数的相关运算 求一个数的所有约数 用试除法枚举,时间复杂度$O(\sqrt n)$。 voi
阅读全文
摘要:如果你不知道什么是欧拉函数:请点这里!!! 下面让我们来检验一下对欧拉函数的理解。 873. 欧拉函数 给定$n$个正整数$a_i$,请你求出每个数的欧拉函数。 输入个数 第一行包含一个整数$n$. 接下来$n$行,每行包含一个正整数$a_i$。 输出个数 输出共$n$行,每行输出一个正整数$a_i
阅读全文
摘要:欧拉函数 欧拉函数的定义 欧拉函数(Euler's totient function),求小于或者等于$n$的数中与$n$互质的数的个数,记为:\(\varphi(n)\)。 欧拉函数的通式$\varphi \left( n\right) =n\left( 1-\dfrac {1} {p_{1}}\
阅读全文
摘要:最大公约数 最大公约数$(Greatest Common Divisor)$,常缩写为$GCD$。一组数的公约数,是指同时同时整除这组数中每一个数的数。最大公约数,是指所有公约数中最大的数。 那么如何求最大公约数呢?我们先考虑两个数的情况。 欧几里得算法 现在我们一张两个数,那么要如何求它们的最大公
阅读全文
摘要:【如果你不知道什么是树状数组:请点这里!!! #130. 树状数组 1 :单点修改,区间查询 这是一道模板题。 给定数列$a_1,a_2,\dots,a_n$,你需要进行m各操作,操作有两类: \(1\) \(i\) \(x\) :给定$i,x$,将$a_i$加上$x$; \(2\) \(l\) \
阅读全文
摘要:差分是将数列中的每一项分别与前一项做差。 一维差分 例如$A:1,2,3,4,5,6$,差分后是$B:1,1,1,1,1,1$。 所以我们可以知道,对于一个给定的数列$A[]$,它的差分数列$B[]$为:\(B[1] = A[1],B[i] = A[i] - A[i-1]\)。(数列$A[]$是数列
阅读全文
摘要:什么是逆序对 逆序对就是如果$i>j&& a[i] <a[j]$,这两个数就是一个逆序对。其实换句话说,找到排在自己前面比自己大的数的个数。 给定一个$n$个数的序列,求解序列中逆序对的个数$n \leq 5 \times 105,a[i]\leq 109$。 输入样例 6 5 4 2 6 3 1
阅读全文
摘要:归并排序 归并排序(Merge sort)是建立在归并操作上的一种有效排序算法,它是采用分治算法的一个典型的应用。时间复杂度为$O(NlogN)$,代价是需要额外的内存空间。 算法理解 我们可以先看一个图 归并排序的思想:我们先对输入数组一直进行对半拆分,直到区间内只有一个元素的时候,一个元素肯定是
阅读全文
摘要:离散化有很大的局限性(目前以个人认知来说),几乎只适合在树状数组求逆序对使用。 离散化概念 离散化:把无限空间中有限的个体映射到有限的空间中去,以此提高算法的时空效率。 通俗的说,离散化是在不改变数据相对大小的条件下,对数据进行相应的缩小。 离散化实现 建立一个结构体包含$val$和$id$,$va
阅读全文
摘要:树状数组 一维树状数组 首先,我们现在需要维护一个一维数组的前缀和,设$ans[i] = arr[1]+arr[2]+\cdots+arr[i]$。现在如果我们要修改任意一个元素$arr[i]$的值,则相关的前缀和$ans[i],ans[i+1],\cdots,ans[n]$都会发生变化。如果我
阅读全文

浙公网安备 33010602011771号