@pinkex
2018-11-02T08:06:50.000000Z
字数 5118
阅读 650
终于能够填坑了。。
这里主要记录一些数论,组合函数还有一些奇奇怪怪的东西的性质之类的,方便以后运用。
定义式:
性质1:
性质2:
性质3:
性质4:
性质5:
性质6:
性质7:
性质8:
斐波那契数列在模任意意义下出现循环节,设其为。
则有:
(1).若,则;
(2).若是质数,则;
(3).;
(4).;
(5).若是模得的质数,则且;
(6).若是模的的质数,则;
(7).根据以上所有性质,,。
证明:都不会证,要用群、环、域的知识解决,看起来很高深。
其中叫做第个皮萨诺周期,图像长这样:

例题:
[hdu 6363] bookshelf
概念:
已知,要求满足的最小整数解。
算法:
一般采用BSGS或exBSGS算法(大步小步)。
BSGS:
当时,运用meet-in-middle的思想,设,将扔进hash表里面。
然后设,从开始,一直到,在hash表里面询问最早出现的位置(可能没有出现过)。若出现过,答案就是。
否则整个过程下来没有找到解,就是无解。
复杂度,求逆元的复杂度。
但是当和不互质怎么办?用扩展版。
exBSGS:
设。若显然方程是无解是无解的(当然是特殊情况)。
否则方程变成
由于有可能和仍然不互质,那么继续这个过程就好了。
由于每次除掉的都是大于的数,所以最多执行次。
这里复杂度是的。
所以总复杂度是的。
注意还要暴力找一下的情况(其实写起来只要加一句话就可以了)。
例题:
[bzoj 2480] Spoj3105 Mod
概念:
已知,要求满足的整数解。
这里讨论二次剩余和三次剩余。()
一般只讨论为素数的情况。
算法:
一种比较优秀的算法是Cipolla算法。
二次剩余:
首先定义二次剩余符号(legendre符号),一个数是模的二次剩余,当且仅当 = 1。
随机一个使得不是二次剩余,期望次数是2。
设,则在域意义下是一个解。由于是奇数,所以也是一个解。
根据拉格朗日定理,一个2次多项式最多有2个根。
所以至此,算法完成。
证明:
设
可以证明也是一个域。
我们要证明
左边式子展开得到:
三次剩余:
类似的想法。
首先三次剩余的符号
根据这个定义,我们要考虑的不同情况。
若在模3意义下不同余于1,
是唯一解。
若在模3意义下同余于1,
随机一个数,使得是三次非剩余,期望次数为9。设。
构造域
然后就是一个解。
另外两个解是,其中是模意义下的三次单位根。
证明也像上面一样。
例题:
[timusOJ 1132] Square Root
概念:
一般地,若已知函数在互不相同的个点处的函数值(即该函数经过这个点,则可以通过一种插值构造法构造出经过这个点,次数不超过的多项式,满足:
形式:
对于某个确定的多项式函数,在其中的个值已知的点取值:
(满足互不相同)
则我们构造一个拉格朗日差值多项式:
证明:
存在性
证明该算法确实能至少对应一个符合条件的多项式。
事实上,根据上面的分析,我们已经构造出了一个多项式。容易证明它是合法的。
唯一性
证明该算法确实只能对应唯一一个符合条件的多项式。
假设对应两个k阶多项式。
根据定义,,满足
如果设,则由可知,是的倍数。
则的阶必然大于等于。事实上,和都是阶多项式,相减以后阶数不可能超过阶。
所以就证明了这个多项式是唯一的。
例题:
[codeforces 622F] The Sum of the k-th Powers
记空间的维度为,对于一个,有定理:
解线性方程组。
判断无解或是有解找出解很好办。万一要在无解的情况下找出最优近似解呢?
这要涉及到拟合直线的问题与投影矩阵。
正交:空间和正交简单说就是。
正交矩阵:满足的矩阵。
性质:任一两行行向量或任意两列列向量都正交。
优点:可以简化投影矩阵的一些公式等等。
eg.旋转矩阵就是一个正交矩阵:
定义:记作。
定义式:
余子式定义:表式将矩阵的第行第列差掉以后剩下的部分求行列式的值。
代数余子式定义:,这个位置上的代数余子式就是该位置上的余子式乘以。
定理:,其中表示该位置上的代数余子式。
这个式子叫做按行展开式,同样可以按列展开。
定义矩阵的伴随矩阵为,其位置上的元素为矩阵中位置上的代数余子式。
经典定理: