
数论
-Dong
本博客转载或复制的内容只作为自己复习回顾用,无意触犯原出处。
展开
-
新博客地址
这是我的新博客:https://www.cnblogs.com/-jiandong/原创 2019-11-23 14:01:25 · 600 阅读 · 0 评论 -
D—Big Integer (质因子分解)2019牛客多校
题目链接:题意:有这样一些数,全部由1组成,例如:1,11,111,1111,…定义A(n)为第n大的数,计算: ∑i=1n∑j=1m[A(ij)≡0(modp)]\sum_{i=1}^{n}\sum_{j=1}^{m}[A(i^j)\equiv 0 ( mod p)]∑i=1n∑j=1m[A(ij)≡0(modp)]我们设:A(n)=10n−19A(n)=\frac{10^n-1}{9...原创 2019-07-29 13:47:20 · 418 阅读 · 0 评论 -
n的约数和以及前n个数的约数和
求n的正约数和唯一分解定理:N=p1a1∗p2a1∗...∗pnan∗N=p_{1}^{a_1}*p_{2}^{a_1}*...*p_{n}^{a_n}*N=p1a1∗p2a1∗...∗pnan∗σ1=(1+p1+p12+...+p1a1)∗(1+p2+p22+...+p2a2)∗...∗(1+pn+pn2+...+pnan)\sigma_{1}=(1+p_1+p_{1}^{2...原创 2019-04-30 20:35:41 · 1088 阅读 · 0 评论 -
C. Neko does Maths (gcd)
题目链接:哆啦A梦传送门题意:已知 a,b,找一个最小的k,使得(a+k) 与 (b+k)的最小公倍数尽可能的小。题解:假设a>b,那么gcd(a,b)=gcd(a-b,b)。证:设c=a-b,则gcd(a,b)=gcd(b+c,b)=gcd(b,c)=gcd(a-b,b)。即 gcd(a+k,b+k)=gcd(a-b,b+k)=c,最后我们就直接枚举(a-b)的因子,...原创 2019-04-25 16:48:27 · 269 阅读 · 0 评论 -
线性筛各类(筛每个数i的约数个数),杜教筛莫比乌斯前n项和以及欧拉函数前n项和 模板
参考博客:https://www.cnblogs.com/peng-ym/p/9446555.htmlhttps://blog.youkuaiyun.com/skywalkert/article/details/505000091,线性筛素数,欧拉函数,莫比乌斯函数,筛每个数 i 的约数个数参考博客:https://blog.youkuaiyun.com/tc_to_top/article/details/4802...原创 2019-04-28 23:21:10 · 499 阅读 · 0 评论 -
E. Guess the Root (拉格朗日多项式+交互)
题目链接:哆啦A梦传送门题意:现在有一个未知系数的多项式题目要你找出一个 x1,使得f(x1)%(1e6+3)==0。但不知道系数ai的值,你可以询问黑匣子,询问一个值x2,然后它会返回f(x2)%(1e6+3)的值,你最多有50次询问。题解:看到这个多项式,自然很容易知道,只需询问11次就能知道所有的系数(我们这里不求系数)。现在有一个叫拉格朗日多项式,它可以很完美...原创 2019-04-23 21:26:08 · 455 阅读 · 0 评论 -
G. Minimum Possible LCM (找出最小的最小公倍数(任意两个值))
题目链接:哆啦A梦传送门题意:给出一个序列,找出两个数,使得它们的最小公倍数最小。题解:lcm(x,y)=x*y/gcd(x,y)。我们直接枚举最大公约数d。只需找到最大公约数d的倍数的两个值就行了,因为再往后找,其lcm会越来越大。复杂度为 O(nln(n)) ,因为假设每次二重循环达到最大,那么复杂度即:代码是参考cf提交成功的。#in...原创 2019-04-18 19:31:26 · 472 阅读 · 0 评论 -
2019 华工春季赛 H-Parco_Love_GCD (CDQ分治)
题目链接:哆啦A梦传送门题意:计算 题解:参考官方标程,我这只是解释一下。分治。每次在分治区间 [l,r] 中计算 左端点x在 [l,mid] ,右端点y在 [mid+1,r] ,连续区间 [x,y] 的最大公约数。那么我们只需从mid往前一直到 左边界l 求出 它们的gcd,并标记。从mid+1往后一直到右边界 r 求出它们的gcd ,并标记。然后我们...原创 2019-04-14 23:51:04 · 313 阅读 · 0 评论 -
自己的一点(求积性函数前n项和)杜教筛总结(其实也是瞎抄的)
杜教筛可以解决哪一类的问题:例如题目给你一个函数,让你求它的前项和$\sum_{i=1}^{n}f(i)$,但是这个n很大(n=1e10),显然在秒数级是不能算出来的,之前我们有学过拉格朗日插值定理求前n项和,它的复杂度与这个函数最高阶k紧密相连,差不多为O(k),但是你要想用拉格朗日插值法,你得知道这个函数f为多项式函数才行。比如让你求前n项欧拉函数和,莫比乌斯前n项和,你就用不上这个拉格...原创 2019-05-02 13:44:43 · 508 阅读 · 0 评论 -
cf F. The Sum of the k-th Powers (拉格朗日插值法求自然数幂和)模板
题目链接:哆啦A梦传送门题意:求自然数幂和 : (n<1e9,k<1e6)。题解:直接拉格朗日插值法就求出来了。设,我们要想用拉格朗日插值法,就首先要知道f(n)函数的最高次幂才行。这里我们用差分就很显然了。f(n)-f(n-1)=n^k,很显然f(n)的最高次幂为k+1,为什么呢? f '(n)=f(n)-f(n-1)=n^k,显然原函数最高次幂为k+1。...原创 2019-04-25 20:56:01 · 481 阅读 · 0 评论 -
RMQ求任意连续区间的最大公约数
前要:给出一个序列,q个询问,每次询问 l,r,求出区间 [l,r] 的最大公约数。打个ST表就好了。#include<bits/stdc++.h>using namespace std;const int maxn=100010;int gcd(int a,int b){ if(!b) return a; else return g...原创 2019-04-15 19:27:19 · 493 阅读 · 0 评论 -
B-xor(线性基求交+线段树) 2019牛客多校第4场
题目链接:题意:有n个集合,每个集合有若干元素,一个集合i能表示x,当且仅当存在一个集合i的子集合,这里面的元素异或值为x。有m个询问:每个为x,l,r,如果任意一个集合i (i在[l,r])都能表示x,输出YES,否则输出NO。题解:我们给每个集合求一个线性基,如果该集合能表示x,说明x在线性基里面。题目现在是多询问,而且是多集合,那么也就是要求多个集合的线性基的交,假设x...原创 2019-07-29 21:41:46 · 399 阅读 · 0 评论 -
51Nod 1227 平均最小公倍数(杜教筛)
题目链接:哆啦A梦传送门题意:求∑i=ab1i∑j=1ilcm(j,i)\begin{aligned}\sum_{i=a}^{b}\frac{1}{i}\sum_{j=1}^{i}lcm(j,i)\end{aligned}i=a∑bi1j=1∑ilcm(j,i)我们设:ans=∑i=1n1i∑j=1ilcm(j,i)=∑i=1n1i∑j=1ii∗jgcd(i,j)=∑d=1nd∑i...原创 2019-07-19 19:14:57 · 243 阅读 · 0 评论 -
回顾在acm集训队的两年时光
从大一到现在,已经差不多两年了,现在的我,依稀清楚的记得17年10月份时,16级师兄来教室的宣讲会,第一次知道acm,知道这是一个学算法的训练队,当时自己连什么是算法都不知道,一听到这个词,心就牢牢的被套住了。在当时听完集训队教练的宣讲会后,我记得当时自己发了一个朋友圈,写着——再次找到一个能让我不舍昼夜的目标!此后就整天到晚猫在电脑前学算法,刷题。大一的很多课都逃了,逃课就为了学算法。虽说逃了不...原创 2019-09-06 12:00:10 · 2461 阅读 · 0 评论 -
指数循环节与斐波那契模p循环节
指数循环节:anmod p=an%ϕ(p)+ϕ(p)mod p (n≥ϕ(p))a^nmod\ p=a^{n\%\phi(p)+\phi(p)}mod\ p \ (n\geq\phi(p))anmod p=an%ϕ(p)+ϕ(p)mod p (n≥ϕ(p))斐波那契模p循环节:对于一个正整数n,我们求Fib数模n的循环节的长度的方...转载 2019-08-27 23:26:14 · 793 阅读 · 0 评论 -
二次剩余
参考博客1:参考博客2参考博客3二次剩余形式:x2≡n mod px^2\equiv n\ mod\ px2≡n mod p,给定n,p,求解x?这里我们只谈论p为奇素数。p为2时,答案不是0就是1,这点在下面代码有体现(代码是照搬的)。简明扼要:首先先判断勒让德符号(Legendre symbol) (ap)=ap−12(\frac{a}{p}...原创 2019-08-27 22:22:54 · 792 阅读 · 0 评论 -
hdu 6706 huntian oy(杜教筛)
题目链接:哆啦A梦传送门题解:f(n,a,b)=∑i=1n∑j=1igcd(ia−ja,ib−jb)[gcd(i,j)==1]f(n,a,b)=\sum_{i=1}^{n}\sum_{j=1}^{i}gcd(i^a-j^a,i^b-j^b)[gcd(i,j)==1]f(n,a,b)=∑i=1n∑j=1igcd(ia−ja,ib−jb)[gcd(i,j)==1]我们得知道有这个公式:gc...原创 2019-08-25 20:13:23 · 425 阅读 · 0 评论 -
C-generator 2 (BSGS)2019牛客第五场
题目链接:题意:给出n,x0,a,b,p,且xi=(a∗xi−1+b)modpn,x_0,a,b,p,且x_{i}=(a*x_{i-1}+b) mod pn,x0,a,b,p,且xi=(a∗xi−1+b)modp多组测试用例,每组测试用例为v,找到最小的i,使得满足xi%p=vx_i \% p=vxi%p=v题解:我们知道xn=an∗x0+an−1b+an−2b+...+bx_...原创 2019-08-20 22:15:23 · 318 阅读 · 0 评论 -
hdu 6579 Operation (线性基求区间最大值)
题目链接:题意:有n个数,q个询问。每个询问有两种操作。当opt=0时,在[l,r]区间中,任意挑选数,异或最大值。当opt=1时,添加一个数x在后面。题目还要在线。每次的l,r都要跟上次的opt=0操作得到结果异或,(l^ans)%n+1,(r^ans)%n+1,x^ans。题解:参考博客:参考博客1:将出现位置靠右的数字尽可能地放在高位。因为题目是异或...原创 2019-07-30 18:02:52 · 406 阅读 · 0 评论 -
线性基
参考博客:参考博客1:参考博客2:线性基的性质:1,原数集中的数字异或出来的值域与线性基中的元素以后出来的值域相等。2,线性基中没有异或和为零的非空子集。3,线性基中的选取元素的每一种方案,都对应一个异或值,不存在多种选取方案对应同一个异或值的情况。4,线性基二进制最高位互不相同。5,线性基中元素互相异或,异或集合不变。6,线性基是满足以上性质的最小集合。...原创 2019-07-21 16:54:09 · 398 阅读 · 0 评论 -
BM线性递推
如果一个数列、其能够通过线性递推而来:例如使用矩阵快速幂优化的 DP 大概都可以丢进去则使用 BM 即可得到任意 N 项的数列元素模板:#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>#include <vector&g...原创 2019-07-24 20:09:58 · 1104 阅读 · 0 评论 -
51Nod 1237 最大公约数之和 V3 (杜教筛)
题目链接:哆啦A梦传送门 题意:求:∑i=1n∑j=1ngcd(i,j)\begin{aligned}\sum_{i=1}^{n}\sum_{j=1}^{n}gcd(i,j)\end{aligned}i=1∑nj=1∑ngcd(i,j)题解:∑i=1n∑j=1ngcd(i,j)=∑d=1nd∑i=1n∑j=1ngcd(i,j)=d=∑d=1nd∑i=1nd∑j=1ndgcd(i,j)...原创 2019-07-17 18:12:20 · 224 阅读 · 0 评论 -
51Nod 1238 最小公倍数之和 V3 (杜教筛)
题目链接:哆啦A梦传送门题意:求 ∑i=1n∑j=1nlcm(i,j)\begin{aligned}\sum_{i=1}^{n}\sum_{j=1}^{n}lcm(i,j)\end{aligned}i=1∑nj=1∑nlcm(i,j)我们设:ans=∑i=1n∑j=1nlcm(i,j)=∑d=1nd∑i=1nd∑j=1nd[(i,j)=1]i∗j\begin{aligned}an...原创 2019-07-17 17:09:11 · 234 阅读 · 0 评论 -
NEFU 118 n!后面有多少个0 (小结论)
题目链接:哆啦A梦传送门题意: 找出n!有多少个0?题解:只有质因子2与质因子5相乘后末尾才会出现0。例如:100 是由 2*2*5*5。故我们只需找出有多少个质因子2的个数与质因子5的个数,其实只需找质因子5的个数就好了,因为质因子2出现的次数一定比质因子5出现的次数多。找出质因子5的个数x=N/5+N/(5*5)+...N/5表示不大于N的数中能被5整除的...原创 2019-04-08 21:36:56 · 251 阅读 · 0 评论 -
hdu 3826 Squarefree number (分解质因子)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3826题意:若n能整除一个平方数,输出No,否则,输出Yes。题解:我们直接分解质因子(质因子范围1000000),假如有超过两个相同的质因子,直接输出No。分解完后,若n大于1000000,说明此数有大于1e6的质因子(绝对没有小于1e6的质因子,要有的话,前面早给解决了),那么此时...原创 2019-04-02 00:00:52 · 380 阅读 · 0 评论 -
线性筛阶乘的逆元
typedef long long LL;const LL mod=1e9+7;const int maxn=3e5+10;const int N=3e5;int jie[maxn],ni[maxn];void init(){ jie[0]=jie[1]=1; for(int i=2;i<=N;i++) jie[i]=1LL*jie[i-1...原创 2018-11-06 10:16:08 · 685 阅读 · 0 评论 -
筛素数表
参考链接:https://www.cnblogs.com/Miroerwf/p/7776390.htmlhttps://baike.baidu.com/item/%E7%AD%9B%E6%B3%95%E6%B1%82%E7%B4%A0%E6%95%B0/8670409?fr=aladdin 线性筛素数:保证每个合数只会被它的最小质因数筛去,因此每个数只会被标记一次,所以时间复杂度是...原创 2018-08-09 10:45:44 · 360 阅读 · 0 评论 -
唯一分解定理
参考链接:https://blog.youkuaiyun.com/m0_38081836/article/details/78108166 #include<cstdio>#include<algorithm>#include<cstring>using namespace std;typedef long long LL;const int m...原创 2018-09-10 23:08:21 · 353 阅读 · 0 评论 -
整数分块(数论分块)应用 ----除数函数求和 2
整数分块参考博客,很重要:http://www.cnblogs.com/0xfffe/p/9648943.html有个问题:求 ,直接做肯定T我们打表之后发现有如下性质:1,最多有种。证明:对于,只有种,对于, 。///数论分块 参考博客:http://www.cnblogs.com/0xfffe/p/964...原创 2018-09-18 09:53:22 · 3368 阅读 · 0 评论 -
除数函数求和 1 (线性筛素数应用+数论分块)
oj 1599DescriptionInput第一行两个正整数n,k。对于 100% 的数据,1 ≤n,k≤ 107。Output第一行输出答案。Sample Input5 2Sample Output63AuthorJohn参考题解:http://www.cnblogs.com/five20/p/9226187...原创 2018-09-17 22:00:01 · 935 阅读 · 3 评论 -
欧拉函数应用
例题一:hdu 2588题意:给出N和M,在 [ 1, N ] 中找出X,满足 gcd (X,N)>=M,问:有多少的X ?题解:欧拉函数的简单应用,依题意可知: gcd (X,N)>=M ,设X=s*a ,N=s*b (a与b互质),易推出s为X和N的最大公约数, 又因为 X<=N,可得 a<=b(只有M为1时,a与b才可能相等),显然题目就...原创 2018-09-06 17:58:24 · 331 阅读 · 0 评论 -
欧拉函数
欧拉函数:是数论中的一个重要函数,设n为正整数,表示{0,1,2,...,n-1},中与n互素的数的个数,例如,因为与12互素的数有1,5,7,11,这里认为,我们根据容斥定理可得出欧拉函数的计算公式,证明见百度。给定正整数n,满足 代码如下:直接求一个数的欧拉函数///直接求一个数的欧拉函数 LL Euler(LL n){ ...原创 2018-08-24 13:28:26 · 320 阅读 · 0 评论 -
卢卡斯(Lucas)定理+逆元 求组合数
参考文章:https://baike.baidu.com/item/lucas/4326261?fr=aladdinhttps://blog.youkuaiyun.com/ArrowLLL/article/details/52629448https://blog.youkuaiyun.com/arrowlll/article/details/53064748 Lucas定理是用来求 c(n,m) mod ...原创 2018-08-13 15:55:45 · 605 阅读 · 0 评论 -
牛客网暑期ACM多校训练营(第六场) J 概率题
链接:https://www.nowcoder.com/acm/contest/144/J来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述skywalkert, the new legend of Beihang University ACM-ICPC Team,...原创 2018-08-08 10:15:55 · 290 阅读 · 0 评论 -
拓展欧几里得算法
参考链接: http://blog.youkuaiyun.com/zhjchengfeng5/article/details/7786595https://baike.baidu.com/item/%E6%89%A9%E5%B1%95%E6%AC%A7%E5%87%A0%E9%87%8C%E5%BE%B7%E7%AE%97%E6%B3%95/1053275?fr=aladdin 扩展...原创 2018-08-09 10:37:49 · 789 阅读 · 0 评论 -
C. Lucky Days 题解(cf)(裴蜀定理思想)
题目链接:bang题意:给出两组 l, r,t 表示 在区间 [ l+k*t , r+k*t ] (k属于非负整数)内是幸运的,问两组最多连续幸运天数是多少天?先给出裴蜀定理的概念,参考百度百科。对任意两个整数a、b设d是它们的最大公约数。那么关于未知数x和y的线性丢番图方程(称为裴蜀等式):ax + by = m有整数解(x,y)当且仅当m是d的倍数。裴蜀等式有解时必然有无穷...原创 2018-11-16 13:08:25 · 651 阅读 · 1 评论 -
hdu 3988 Harry Potter and the Hide Story (素因子)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3988题意:给出n,k,找出最大的i,满足 n!%k^i。题解:我们先对k进行质因子分解,假设p是k的一个质因子,那么我们先算出p在k中出现的次数tt,然后算出在n中出现的次数num,此时i 最大为num/tt,故我们就一直找k的质因子,每次取 num/tt的最小值。代码:#i...原创 2019-02-27 23:02:34 · 243 阅读 · 0 评论 -
NEFU 素数价值 (哥德巴赫猜想)
题目链接:哆啦A梦传送门题解:导论:今日常见的猜想陈述为欧拉的版本,即任一大于2的偶数都可写成两个素数之和,亦称为“强哥德巴赫猜想”或“关于偶数的哥德巴赫猜想”。从关于偶数的哥德巴赫猜想,可推出:任一大于7的奇数都可写成三个质数之和的猜想。后者称为“弱哥德巴赫猜想”或“关于奇数的哥德巴赫猜想”。我们证明下:任一大于7的奇数都可写成三个质数之和的猜想。当一个数为奇数时...原创 2019-04-01 23:04:09 · 490 阅读 · 0 评论 -
hdu 1299 Diophantus of Alexandria (解方程+唯一分解定理)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1299题意: 给出n,解方程。满足 x<=y,x y都为正整数。题解:首先我们先把x解出来,可得到然后我们令 y=n+k,得:,可以看出此时即为求n*n的质因子个数。因为题目要求x<=y,故最后我们把结果除以2就好了。要是直接求n*n的质因子,可...原创 2019-04-04 23:58:48 · 241 阅读 · 0 评论 -
hdu 2608 0 or 1 (规律)
题目链接:哆啦A梦传送门题意:给定一个n,定义S(n) = T(1) + T(2) + T(3)…..+T(n),T(n)是n的所有因子的和,最后输出S(n)%2的值。题解:参考网上。打表前50个T(n),T[n]%2=1的有1,2,4,8,9,16,18,25,32,36,49,50;这里边有1,4,9,16,25,36,49,这些正好是1,2,3,4,5,6,7的平方再看 ...转载 2019-03-15 23:36:39 · 262 阅读 · 0 评论