欧拉定理
Facico
生命是闪耀的此刻,不是过程,就像芳香不需要道路一样。
展开
-
(一道处理指数的mod的题)Pow
Description定义a^b为a的b次方,并且^是满足右结合的,即a^b^c^d=a^(b^(c^d))。例如,2^3^2=2^(3^2)=2^9=512。 现在给定n个数a1,a2,…,an 求a1^a2^…^an对p取模的值。Solution主要目标解决axmodpa^x\mod p 解决方法我们往欧拉定理上面想,首先保证a与p互质,那么axmodp=axmodφ(p)modpa^x\mo原创 2016-03-21 20:48:38 · 1957 阅读 · 1 评论 -
Cipolla算法学习小记
简介Cipolla算法是解决二次剩余强有力的工具,一个脑洞大开的算法。 认真看懂了,其实是一个很简单的算法,不过会感觉得出这个算法的数学家十分的机智。基础数论储备二次剩余首先来看一个式子x2≡n(modp)x^2≡n(\mod p),我们现在给出n,要求求得x的值。如果可以求得,n为mod p的二次剩余,其实就是n在mod p意义下开的尽方。Cipolla就是一个用来求得上式的x的一个算法。勒让德原创 2016-07-26 14:30:43 · 4243 阅读 · 2 评论 -
【HNOI2016模拟4.4】Fenwit
DescriptionSolution虽然这题还有很多的方法,但是这类型的题目斗游戏一个通用的做法FWT(快速沃尔什变换),而且非常的短。 首先我们可以把式子转化成: Fi+1[jk]=∑k=02M−1Fi[k]∗B[Cnt(j)]F_{i+1}[j^k]=\sum_{k=0}^{2^M-1}F_{i}[k]*B[Cnt(j)] 根据异或的性质,这个很显然。 然后就用后面的两个数组做FWT,原创 2017-07-14 22:34:13 · 493 阅读 · 0 评论 -
指数取模的方法
简介xymodpx^y\mod p 当y很大的时候,怎么办?方法这里只讲当x与p互质时的情况。 所以x%p与p互质,那么就相当于x与p互质,就相当于p是个质数,所以根据欧拉定理 xφ(p)≡1(modp)x^{\varphi(p)}≡1(\mod p) 所以xyx^y就可以拆解成 xφ(p)∗φ(p)∗......∗φ(p)∗(ymodφ(p))modp=x1∗1∗......∗1∗φ(p原创 2016-07-08 19:11:31 · 10837 阅读 · 3 评论