基础数论
林木森.
这个作者很懒,什么都没留下…
展开
-
cf596D(质数分解)
传送门说下题意,给1e5个数和一个K,求里面两个数之积为x的k次方有多少组,x为任意值。解题思路:首先根据算术基本定理对于,对每一个数进行质因数分解a=p1e1+p2e2+…+pnen,因为两个数之积为一个值的k次方,那么这两个数的每一个质因数的次方之和一定为k的倍数。然后计算贡献,每一个值对于后面的贡献是每一个质因数的次数对k取模后的积,同时计算这个值还缺多少个数字变成k次方,加上这个值在前...原创 2019-10-27 19:24:56 · 217 阅读 · 0 评论 -
素数判定 欧拉筛
欧拉筛欧拉筛是一种线性筛法,能将1~n以内所有质数全部筛出来,是已知比埃氏筛法快的筛选1到n以内质数的办法!欧拉筛基于算术基本定理:任意大于1的数字都能唯一分解为有限个质数的乘积也可以解读为任意一个大于1的数字至少可以分为一个质数乘以一个合数而欧拉筛正是利用了这一点,每一次标记当前值x与1到x的最小质因子之间的所有质数之积也就是合数,这样标记每一个合数都只会标记一次,对时间复杂度有极大的优化。...原创 2019-08-10 15:35:34 · 293 阅读 · 0 评论 -
简单的容斥原理
容斥原理:奇加偶减hdu2588本以为只要求一下GCD就行了。。。结果果然是我天真!由题可知两个数里面有一个已经被固定了,那么他的gcd一定是n的一个因子,所以我们可以把n的所有因子全部找出来,排序以后直接找大于m的所有因子,由于可能出现因子之间有倍数关系,因此再去重,然后直接使用容斥原理就行了!!容斥原理:使用一个二进制数字1表示使用过,0表示不用,然后枚举每一位是否为1直接可得每种方案...原创 2019-09-01 22:34:39 · 335 阅读 · 0 评论 -
2019徐州icpc网络赛A题
请看题面一个板子题,不过说起来我貌似连板子都不会。。。菜啊简单说下题意:给t个数对(a,b)求一个最小的n符合n%a=b;一开始没看过扩欧,罪过,搞了半天;讲下思路吧:a1x1+b1=a2x2+b2<==>a1x1-a2x2=b2-b1转化以后很明显的线性同余方程;解方程就不说了,直接得到x的通式为x=x0+a2/gcd;(x0为最小正整数解)这时n=a1(x0+a2...原创 2019-09-09 17:23:26 · 211 阅读 · 0 评论 -
扩展欧几里得入门
青蛙的恋爱经典扩欧板子题,稍微注意一点就可以A了,之所以要写呢,是因为发现这题在洛谷上的数据比较强,让人自闭。方程大家应该都找的到吧,我也就不提了,直接说坑点,就是如果gcd之中如果有一个参数为负数的话,最后的结果符号会出现问题,不确定是否为正还是负,这一题里面很明显的出现了,如果(m-n)为负数的话,那么gcd可能为负数,那么**ans= (ans % f + f) % f;(f=l/gcd...原创 2019-09-17 14:45:55 · 117 阅读 · 0 评论