
数论
LZJ209
主页:https://zongjia.li/
展开
-
BZOJ 1951 古代猪文 鲁卡斯定理+费马小定理+中国剩余定理
先给这道题的题目描述跪了(此处吐槽10分钟) —————————————————————————— 吐槽完毕,这道题首先看得出要算的结果是一个数的巨大无比次方,简单的快速幂显然不行了,但是最后的结果要mod一个质数,于是我们可以引入费马小定理: a^(p-1)≡1(mod p)(当p为质数并且a不为p的倍数时成立),这能说明什么呢,就是说在mod p的意义下乘以一个数的p-1次方等于没乘!所以原创 2016-12-26 23:05:13 · 594 阅读 · 0 评论 -
bzoj2705: [SDOI2012]Longge的问题 欧拉函数
题目大意:给定n,求出1到n所有数与n的gcd之和。 题解:我们枚举n的每一个因子d,然后计算一下1到n/d的区间内有多少个数和n/d互质,也就是欧拉函数,再将欧拉函数乘以一个d即可。#include<cstdio>#include<cstdlib>#include<iostream>#include<iomanip>#include<ctime>#include<cmath>#inc原创 2017-03-06 16:39:51 · 456 阅读 · 0 评论 -
bzoj 2226: [Spoj 5971] LCMSum线性筛欧拉函数
题目大意:给定n,求1到n中所有数与n的lcm之和 题解:枚举d=GCD(i,n),令F(n)为n以内与n互质的数之和,则ans=Σ(d|n)d*F(d)*n/d=nΣF(d) F(d)有一个性质,就是与d互质的数一定能两两组合成d,可以用辗转相除法轻松证明,只有1和2特殊,特判即可。#include<cstdio>#include<cstdlib>#include<iostream>#i原创 2017-03-06 17:17:02 · 377 阅读 · 0 评论 -
BZOJ 2693 jzptab 莫比乌斯反演
BZOJ 2693 jzptab 莫比乌斯反演 题目大意:给定n,m,求i从1到n,j从1到m,的i与j的最小公倍数之和。 这题真的是有问题,难想的一批,公式恐惧症无药可救患者。。。。。。 以下我们继续给出PoPoQQQ的PPT中的内容,当中做出一些解释。 注解:这里的F(x,y)要求gcd(i,j)==1,所以我们想要求解F(x,y)需要继续莫比乌斯反演。 注解:这里是一个标准原创 2017-03-06 17:23:04 · 419 阅读 · 0 评论 -
【bzoj2694】Lcm 莫比乌斯反演
题目大意:对于任意的>1的n gcd(a, b)不是n^2的倍数,的1到a和1到b的lcm(a,b)之和。 题解:又是一道变态题。。。。。。。。。。 可以参考同系列的上一篇文章,这题主要的特殊处在于不能出现gcd(a,b)为n^2倍数的lcm(a,b),通过一顿瞎搞我们发现最后要求的前缀和中多出了一个abs(u(D/i)),这还是一个积性函数,唯一不同的是i中包含prime[j]的情况,这个我们原创 2017-03-06 17:46:19 · 674 阅读 · 0 评论 -
BZOJ 3884: 上帝与集合的正确用法
题目大意:求2的2的2的2的。。。。(无穷多个)次方对p取模的值。 题解: 扩展欧拉定理有(a^b)%p=(a^(b%phi(p)+phi(p)))%p,不停递归下去知道p等于1,这样的话不会超过2*log(n)层,最简单的证明:奇数取phi最小减一,偶数最小减一半。#include<iostream>#include<iomanip>#include<ctime>#include<cma原创 2017-05-30 11:11:33 · 382 阅读 · 0 评论 -
BZOJ 3328: PYXFIB 二项式定理 原根 构造
题目大意:自己看去 题解:这真是一道神题,由于有大量的数学公式,不太好写(我懒,就附个链接吧题解戳我#include<cstdio>#include<cstdlib>#include<iostream>#include<iomanip>#include<cstring>#include<string>#include<algorithm>#include<ctime>#includ原创 2017-06-23 20:42:57 · 553 阅读 · 0 评论 -
BZOJ 4173: 数学 欧拉函数
题目 题解:又是数学公式,戳这吧orz#include<cstdio>#include<cstdlib>#include<ctime>#include<cmath>#include<cstring>#include<string>#include<algorithm>#include<iostream>#include<iomanip>using namespace std;c原创 2017-06-23 21:24:18 · 466 阅读 · 0 评论