随笔分类 -  《数论专题》

摘要:鉴于本人水平有限就不证明了。 替换法则:$\sum_{n = 1}^{m}\sum_{d | n}^{} [\frac{n}{d}] \mu ([\frac{n}{d}]) = \sum_{n = 1}^{m}\sum_{d | n}^{} d \mu (d)$ 递推一:$\sum_{i = 1}^ 阅读全文
posted @ 2021-11-03 15:48 levill 阅读(40) 评论(0) 推荐(0)
摘要:P2158 [SDOI2008] 仪仗队: 一开始还确实没来思路,但是昨晚看了一个水题也是用到了斜率,所以就想到了斜率。 很明显斜率相同的会被遮挡,也就是说不是最简分数的形式就会被遮挡。 很显然求一下互质的坐标数就行。 这里的话左下角那个人是不算的,然后我们要以左下角为(0,0)点来看才对。 // 阅读全文
posted @ 2021-10-06 15:24 levill 阅读(51) 评论(0) 推荐(0)
摘要:其实在上一年就已经学过了Min_25,但当时理解得不是很好,现在重新来写一下。(其实是洲阁筛找不到阳间的板子,所以还是果断回来Min_25) 好了回归正题,其实也没有什么好讲的好像,就是推公式就行了。(雾) 可以使用Min25筛的前提是,该函数是个积性函数,且它在质数处的前缀和可以很快求出来,而且是 阅读全文
posted @ 2021-08-24 16:37 levill 阅读(101) 评论(0) 推荐(0)
摘要:前言:写得比较简陋~以后有时间一定来完善。 快速傅里叶变换,又叫FFT。 可以在O(n)内处理多项式乘法的算法。 一个n - 1多项式g(x) 可以用系数表示为$\sum_{i = 0}^{n - 1} ai * x^{i}$ 对于我们g(x)多项式中的每一项,我们可以看成有一个函数f(x)。 将每 阅读全文
posted @ 2021-05-12 22:21 levill 阅读(125) 评论(0) 推荐(0)
摘要:对于式子 : $a^{2} + b^{2} = c^{2}$ 若已知a,请求构造一组b,使得c存在。 那么有勾股数的规律可知: 若a = 2 * m,那么b = m * m - 1,c = m * m + 1 若a = 2 * m + 1,那么b = 2 * m * (m + 1),c = 2 * 阅读全文
posted @ 2021-02-06 17:28 levill 阅读(178) 评论(0) 推荐(0)
摘要:好题: #include<bits/stdc++.h> using namespace std; typedef long long LL; const int N = 5e6 + 5; const LL Mod = 1e9 + 7; #define INF 1e9 #define dbg(x) c 阅读全文
posted @ 2020-11-01 14:39 levill 阅读(109) 评论(0) 推荐(0)
摘要:杜教筛:算是筛法里特别实用的一个算法吧,复杂度是亚线性。 前置知识: 积性函数:对于函数f,如果满足f[1] = 1,且当p,q互质时,满足f[p * q] = f[p] * f[q],那么这个函数即为积性函数。 当p,q不互质时都满足f[p * q] = f[p] * f[q],那么这个函数即为完 阅读全文
posted @ 2020-10-31 07:14 levill 阅读(257) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2020-10-30 16:03 levill 阅读(3) 评论(0) 推荐(0)
摘要:参考自:https://www.luogu.com.cn/blog/An-Amazing-Blog/mu-bi-wu-si-fan-yan-ji-ge-ji-miao-di-dong-xi 对于莫比乌斯函数gcd的问题: 可以有$|gcd(i,j) = 1| = \sum_{d|gcd(i,j)}^ 阅读全文
posted @ 2020-10-14 22:30 levill 阅读(435) 评论(0) 推荐(1)
摘要:虽然是一个简单知识,但整除分块却有着很重要的优化作用。 对于 $\sum_{i = 1}^{n}[\frac{n}{i}]$的求解。 当n很大时,O(n)的复杂度显然不能接受,于是就有了整除分块。 对暴力的值适当打表,可以发现,整除后的值都是呈块状分布的,并且这些块的大小,会越来越大。 且,我们可以 阅读全文
posted @ 2020-10-14 13:20 levill 阅读(105) 评论(0) 推荐(0)
摘要:早就想学了,终于开始填这个坑了~。 首先,要先介绍一下莫比乌斯函数$\mu $。 其实莫比乌斯函数就是一个分段函数: $\mu (d) = \begin{Bmatrix}1 & d = 1 & \\(-1)^{k} && \\ 0 & & \end{Bmatrix}$ 当 d = 1,mu = 1. 阅读全文
posted @ 2020-10-11 08:45 levill 阅读(109) 评论(0) 推荐(0)
摘要:前言:It's hard, but keep going 花了n久的时间,终于可以算是理解了吧~ Min25筛:适用于求解积性函数f(i)的前缀和问题。 对于这个积性函数,需要满足$f(p^{k})$可以快速求出。 关于这个快速求出,就是可以理解为$f(p^{k})$是一个关于p的低阶多项式。 因为 阅读全文
posted @ 2020-09-21 18:07 levill 阅读(209) 评论(0) 推荐(0)
摘要:逆元: 对于$ax \equiv 1 (mod ~m)$这样的同余方程。 将x称为a的逆元,满足乘以a即可为乘以a的逆元x。 逆元的求解: 对单个逆元有三种求法: 1:费马小定理:快速幂求解。 2:欧拉定理:x = a^(phi(m)-1) 可以发现,就是费马小定理的扩展。 3:扩展欧几里得。 对于 阅读全文
posted @ 2020-09-14 09:01 levill 阅读(169) 评论(0) 推荐(0)
摘要:前言:数论很难也很有意思,慢慢回顾和慢慢学,记录自己的感悟和理解。 keeping going ! 欧拉函数: 假定phi(x)为x的欧拉函数,这个函数表示的就是1~i中和i互质的数。例phi(1) = 1,phi(2) = 1,phi(8) = 4。 欧拉函数的通式$phi(x) = x * \p 阅读全文
posted @ 2020-09-08 22:16 levill 阅读(241) 评论(0) 推荐(0)
摘要:对于第一个式子。 分析内层循环可以发现,可以优化为i*n的前缀和。那么可以O(n)求出。 那么即为$\sum_{i = 1}^{n} i *pre[n]$ 再仔细观察我们可以提出pre[n]。那么就变成了pre[n]*pre[n]。至此就可以O(1)求出了。 pre[n]不需要预处理,因为这里空间卡 阅读全文
posted @ 2020-08-29 08:09 levill 阅读(144) 评论(0) 推荐(0)
摘要:可以发现,对于每种开关,都可以看成二进制位来转换成一个十进制的数。 那么,由于线性基里的元素构造出来是不会有重复的。 那么我们就是去插入线性基。然后对于每个线性基里的数都有选和不选的可能 所以ans = 1LL<<cnt。不要忘记取模 // Author: levil #include<bits/s 阅读全文
posted @ 2020-08-26 19:42 levill 阅读(155) 评论(0) 推荐(0)
摘要:这道题真的让我受益匪浅,加深了对线性基的认识。 首先,考虑了一般解法,较暴力。 将x->y路径上所有的点都加入一个空的线性基集合,最后求一次最大值即可。 既然要将每个点都加入,那么必然要一个点一个点地跳。(因为每个点都要遍历到,所以不能倍增) 那么,这时最坏复杂度在N^2。只有30分。 考虑去优化。 阅读全文
posted @ 2020-08-26 17:05 levill 阅读(172) 评论(0) 推荐(0)
摘要:P1516 青蛙的约会(洛谷) 题意:在一个循环坐标轴上,有两个初始坐标为x,y的点,每个人一次跳m,n步,求解是否可以相遇,如果可以求出最小步数。 假设跳了k步后两点相遇。则有 x+k*m - (y+k*n) = T * L(T为常数,即表示为L的常数倍,因为是循环坐标轴) 转化为 TL+(n-m 阅读全文
posted @ 2020-08-03 09:15 levill 阅读(15) 评论(0) 推荐(0)