随笔分类 - 数论
摘要:嘟嘟嘟 做这道题得自己推出这么几个结论…… 1.最大的反素数一定是约数个数最多的的数中最小的那个。 这个其实很好想:根据定义,$g(x)$要大于任意的$g(i)$,而不是大于等于。 2.1~n中任意一个数的不同的质因子不会超过10个,且所有质因子的指数之和不会大于30. 最小的10个质数的乘积刚好大
阅读全文
摘要:嘟嘟嘟 这题竟然暴力就过了…… 在[1, sqrt(b1)]中枚举x,判断x | b1,如果成立,再判断lcm(x, b0) == b1 && gcd(x, a0) == a1,并计数。 复杂度O(n * sqrt(b1) * logb1)。 1 #include<cstdio> 2 #includ
阅读全文
摘要:嘟嘟嘟 【欧拉函数】 大致题意:如果知道f(a, b),就可以求出f(a * k, b * k)。现给出一个n,求至少需要知道几个二元组(a, b),使所有的f(x, y)都能求出来。(1 <= x, y <= n) 首先能确定的是gcd(a, b) = 1。不妨假设b >= a,那么如果b一定,至
阅读全文
摘要:嘟嘟嘟 枚举a, 求出b,然后代入看a和b是否是对的。 具体方法:通过x1和x3可以求出b : x2 = (a * x1 + b) % mod (1) x3 = (a * x2 + b) % mod (2) 把(2)代入(1)得 x3 = (a2 * x1 + a * b + b) % mod 整理
阅读全文
摘要:最近想刷一刷数论的题,就先找了道简单的入手。 这一看就是exgcd求不定方程。 首先可以列出来:x + m * k ≡ y + n * k (mod L) 化简:x + m * k - y - n * k = p * L (m - n) * k - p * L = y - x 令a = m - n,
阅读全文
摘要:嘟嘟嘟 a / b % p = a * b-1 % p,又因为p是质数,根据费马小定理=> a * b-1 % p = a * bp-2 % p。 看数据范围,不想写高精,就改了一下快读。 1 #include<cstdio> 2 #include<iostream> 3 #include<cmat
阅读全文
摘要:嘟嘟嘟 暴力啊,统计当前数 i ,对是 i 的倍数的约数的贡献。 1 #include<cstdio> 2 #include<iostream> 3 #include<cmath> 4 #include<algorithm> 5 #include<cstring> 6 #include<cstdli
阅读全文
摘要:嘟嘟嘟 这题还是比较水的。首先O(n2)模拟显然过不了,那就换一种思路,考虑每一个数对答案的贡献,显然一个数a[i]会对后面的a[i] * 2, a[i] * 3,a[i] * 4……都贡献1,。那么就想线性求因数个数一样,对于每一个a[i],都计算出对能被他整出的数的贡献。 1 #include<
阅读全文
摘要:嘟嘟嘟 刚开始想这道题的时候确实很蒙,只想到矩形对边做对应的弧长相等,然后想办法凑出相等的弧长。其实正解很简单,不要去想边,应该想对角线,因为根据初中园的知识,这个矩形的对角线是圆的直径,而直径所对的弧是周长的一半,所以只要每局两个指针 i,j,如果这两个的距离是周长一半的话,就cnt++,所以最终
阅读全文
摘要:题目大意: 一天,Vanya 来到了一片滑稽树林中,准备采摘滑稽果。滑稽树林可看作一个 n×n 的正方形,其中 m 个点上有滑稽果,某些点没有。(注意一个点上可能有多个滑稽果) Vanya会沿向量 (dx,dy)(dx,dy) 方向移动。也就是说,如果Vanya在 (x,y) 处,她将移动到 ((x
阅读全文
摘要:传送门:https://www.luogu.org/problemnew/show/CF838D 这道题反正我自己想是毫无头绪,最后还是听了肖大佬的做法。 因为题中说乘客可以从前后门进来,所以我们可以把这n个作为想象成一个环,然后乘客们都从n + 1的位置出发,于是从前后门就变成了顺逆时针。 很容易
阅读全文
摘要:gcd就是最大公约数,gcd(x, y)一般用(x, y)表示。与此相对的是lcm,最小公倍数,lcm(x, y)一般用[x, y]表示。 人人都知道:lcm(x, y) = x * y / gcd(x, y) 证明起来也不是很难: (这真的是我自己写的,因为博客园不支持这格式……) 至于gcd的求
阅读全文
摘要:【题目描述】自从曹冲搞定了大象以后,曹操就开始捉摸让儿子干些事业,于是派他到中原养猪场养猪,可是曹冲满不高兴,于是在工作中马马虎虎,有一次曹操想知道母猪的数量,于是曹冲想狠狠耍曹操一把。举个例子,假如有16 头母猪,如果建了3 个猪圈,剩下1 头猪就没有地方安家了。如果建造了5 个猪圈,但是仍然有1
阅读全文
摘要:欧拉函数是小于n的正整数中与 n 互质的数的数目,其中规定 φ(1) = 1。比如 φ(8) = 4 (1,3,5,7 和 8 互质),φ(9) = 5 (1,2,4,5,7,8 和 9 互质)。 求欧拉函数的公式是 这个公式就是这个意思 :φ(n) = n * (1 - 1 / p1) * (1
阅读全文
摘要:素数筛法是数论的入门,当然也非常重要。所谓素数(也叫质数),就是因数只有1和它本身的数。 今天讲一下怎么筛素数。 第一种算法,就是最朴素最暴力的算法,是人的都会。就是对于每一个数n,从 i = 2开始,依次判断n能否被i整除。 好想的当然也就慢,这个算法复杂度是O(nlogn),当n为1e7 时就过
阅读全文
摘要:【问题描述】 用递归方法求两个数m和n的最大公约数(greatest common divisor)。(m>0,n>0) 【大水题,大佬快绕】用辗转相除法求,递归实现。 输入:28 8 输出:gcd = 4 那么再水一把:求一个最小公倍数(least common multiple)。 人人都知道,
阅读全文

浙公网安备 33010602011771号