======数论======
文章平均质量分 92
「已注销」
这个作者很懒,什么都没留下…
展开
-
扩展gcd&模线性方程
扩展gcd普通的gcd(a,b)算法就是求a和b的最大公约数。int gcd(int a,int b) {return b?gcd(b,a%b):0;}什么是扩展gcd,这是一种可以求一种特别的方程,已知整数a,b,c,求一组整数(x,y),满足ax+by=cax+by=c那么……我们先解决这个问题,g=gcd(a,b),a>bg=gcd(a,b),a>b,求一组整数解(x,y),满足ax+by=g原创 2017-08-22 21:43:10 · 362 阅读 · 0 评论 -
欧拉筛
欧拉筛,就是找出所有素数的。一般的筛法都是O(n*logn)的,不介绍了。void makep(){ p[0]=0; memset(vs,1,sizeof(vs)); vs[0]=vs[1]=0; for (int i=2;i<=n;i++){ if (vs[i]) p[++p[0]]=i; for (int j=i*i;j<=n;j+=i) vs[j原创 2017-08-23 21:11:48 · 409 阅读 · 0 评论 -
欧拉函数
欧拉函数定义欧拉函数φ(x)\varphi(x),表示1~x所有数中与x互质的数的个数。计算公式欧拉函数有两个神奇的规律:1.如果x为素数,则φ(x)=x−1\varphi(x)=x-12.如果gcd(x,y)=1gcd(x,y)=1,则φ(x∗y)=φ(x)∗φ(y)\varphi(x*y)=\varphi(x)*\varphi(y)证明见Orz zzkksunboy,我的智商已经无法承受这个证明原创 2017-10-28 19:36:30 · 231 阅读 · 0 评论 -
[欧拉函数]51nod 1040 最大公约数之和 题解
(传送门)题目大意求∑ni=1 gcd(i,n)\sum_{i=1}^{n}\ gcd(i,n)解题分析注意,所有gcd(x,n)最后都是n的因数。所以可以对因数分类,设f(i)f(i)为gcd(x,n)==i且i&lt;ngcd(x,n)==i且i&lt;n的正整数x,则 ans=∑ i∗f[i]|i为n的因数ans=\sum\ i*f[i]|i为n的因数如果gcd(x,n)=igcd(x,n)=i,则gc原创 2017-10-28 19:52:42 · 251 阅读 · 0 评论 -
[欧拉函数]51nod 1188 最大公约数之和 V2 题解
(传送门)题目大意求∑n−1i=1∑nj=i+1\sum_{i=1}^{n-1}\sum_{j=i+1}^{n}解题分析同V1一样的分析,但这题多组数据。而且求前n,所以可以从前缀和的思想入手。而且需要用欧拉筛来求解。读优别落下。lrj蓝书原题……到51nod上就贼坑,而且书上代码还挂了。 可以枚举因子,然后用它的倍数更新。时间复杂度与普通筛法同阶。什么意思?A这道题需要人品啊。复杂度: 时间:原创 2017-10-28 21:21:10 · 293 阅读 · 0 评论 -
【线性模方程】BZOJ 1407 [Noi2002]Savage 题解
题目大意 nnn个人在mmm个点的环上,每个人初始在点cicic_i,能活LiLiL_i秒,每秒会向后走pipip_i步,求出最小的mmm使得任意两个人在有生之年都不会在一个点上相遇。 解题分析 转化一下这题,如果两个人i,ji,ji,j在第xxx天相遇了,说明什么? ci+x∗pi≡cj+x∗pj(Mod m)ci+x∗pi≡cj+x∗pj(Mod m)c_i+x...原创 2018-08-02 23:38:47 · 137 阅读 · 0 评论 -
[欧拉函数]HDU 2824 The Euler function 题解
题目大意 求∑i=LRφ(i)\sum_{i=L}^R \varphi(i)∑i=LRφ(i) 解题分析 水题,前缀和构造,注意空间不要爆 示例代码 题目传送门 #include<cstdio> using namespace std; typedef long long LL; const int maxn=3000005; int s,t,p[maxn]; bool vs[max...原创 2018-10-14 14:26:20 · 187 阅读 · 0 评论 -
[欧拉函数]BZOJ 2818 Gcd 题解
题目大意 见题面。 解题分析 一开始我还以为很麻烦,然后才发现是数论水题。 思想很简单,之前用过的套路gcd(i,j)=p =&gt;gcd(i/p,j/p)=1gcd(i,j)=p\ =&gt; gcd(i/p,j/p)=1gcd(i,j)=p =>gcd(i/p,j/p)=1 所以就是枚举素数p,然后就是求[1,n/p]中互质的数对个数,不难发现就是...原创 2018-10-14 20:34:12 · 236 阅读 · 0 评论