数论
文章平均质量分 78
alpc_qleonardo
这个作者很懒,什么都没留下…
展开
-
CodeForces - 235E Number Challenge(莫比乌斯反演 + 数论分块)
CodeForces - 235E Number Challenge大致题意做法如何插入一段漂亮的代码片KaTeX数学公式大致题意计算如下式子做法如果只是两个数字乘积的约数个数,那么有公式:σ(ij)=∑a∣i∑b∣j[(a,b)=1]\sigma(ij)=\sum_{a|i} \sum_{b|j}[(a,b)=1]σ(ij)=a∣i∑b∣j∑[(a,b)=1]当有三个数字...原创 2019-10-31 18:05:57 · 328 阅读 · 0 评论 -
计蒜客 ICPC徐州网络赛 Easy Math(Min25筛)
大致题意:让你求 。根据莫比乌斯函数的定义,对于mu(i)如果i可以分解为任意一个质数的平方分解,那么函数值为0。所以对于这个求和的式子来说,i有意义,当且仅当gcd(i,n)==1。而根据莫比乌斯函数的积性,当gcd(i,n)==1时,有。所以说这个mu(n)完全可以提取到外面,这样求和式子就是: ...原创 2018-09-11 08:09:53 · 533 阅读 · 0 评论 -
牛客国庆集训派对Day1 I Steins;Gate(原根 + FFT)
上一次用到原根这个东西,应该是一年之前了吧……所谓原根,就是指对于某个数字P,满足它的原根g,g的0~P-2次幂在模P的意义下互不相同,或者说g的1~P-1次幂在模P的意义下无不相同。一般来说,原根只能够进行枚举求解,但是由于原根一般较小(2或者3),所以可以接受。对于本题,要求对于每一个数字ak计算在模P意义下,有多少个ai*aj等于ak。直接做显然是O(N^2)的,不能...原创 2018-10-02 00:27:05 · 594 阅读 · 0 评论 -
BZOJ 3512 DZY Loves Math IV(杜教筛 + 数论 + 记忆化搜索)
这题的关键,在于这个n的数据范围,它只有1e5,所以我们可以考虑枚举n。下面开始推式子:令,设w为n所有质因子的一次方的积,v=n/w。那么根据欧拉函数的性质,有: 其中的d为gcd(i,w)。根据公式,可以有: 因为d=gcd(i,w),而且w是n所有质因子的1次方,所以说w/d一定于d/x互质,所以根据欧拉函数的积性,有:原创 2018-10-09 19:11:13 · 235 阅读 · 0 评论 -
HDU 3441 Rotation(Polya计数 + 数论)
大致题意:总共有A*A个小方格,有C种颜色。你要把着A*A个小方格拆乘K+1个部分,其中K个部分是B*B的正方形,剩下的一个单独的方格。要求着K个大正方形都连着这个单独的小方格成一个圈。现在你要用这C种颜色个小方格染色,使得每一个B*B的正方形内部要在旋转的时候本质不同,然后这个K个大正方形与中间的小方格在旋转的时候也要本质不同。问你本质不同的方案数。这个比较显然的...原创 2018-10-10 11:05:09 · 331 阅读 · 0 评论 -
BZOJ 5244 [Fjwc2018]最大真因数(Min_25筛变形 + 积性)
所谓最大真因数,就是不包括他自己的最大因子。显然质数的最大真因子为1,而合数的最大真因子是他本身除以最小质因子。而本题要求求所有的合数的最大真因子之和。然后数据范围是5e9,一眼看上去就是一个Min_25筛嘛,求出前缀和s,然后减去质数部分和g即可。然后啪啪啪把板子敲上去,然后跑了跑样例发现根本过不了……然后开始怀疑人生,后来仔细一想,原来最大真因子这个东西,他不满足积性,也就...原创 2018-11-19 21:55:26 · 532 阅读 · 0 评论 -
CodeForces 438E The Child and Binary Tree(DP + 生成函数 + 多项式模运算)
大致题意:给定一个集合{Cn},一棵二叉树上的所有节点的点权值从这个集合中选取。现在给定一个m,问对于1..m中的每一个数字i,权值和恰好为i的不同的二叉树的个数有多少个。这里形态不同但点权集合的二叉树视为两种方案。与前面做的题目类似,这种题目我们还是用dp的思维去考虑。令fi表示权值和为i的二叉树的个数。那么考虑增加一个点x,这个点的权值可以取i,Ci表示数值i在初始...原创 2018-12-26 22:53:00 · 293 阅读 · 0 评论 -
牛客练习赛32 F Friendly Polynomial(NTT + 多项式逆元 + 组合计数)
大致题意:一个数列,如果存在一个i∈[1,n-1],使得前i个数字是1-i的一个排列,那么这个数列和不合法的。现在问1-n的排列中,有多少个不合法的数列。首先,我们定义一个不合法的序列,它仅被最大的一个i给计算,也即前i个数字是排列,后i+1~n个数字不是排列的情况。这个时候,我们令fn表示长度为n的不合法数列个数,那么显然有: ...原创 2018-12-25 21:38:03 · 266 阅读 · 0 评论 -
CodeForces 1106F Lunar New Year and a Recursive Sequence(BSGS + 原根 + 矩阵类)
大致题意:告诉你F的递推式,与前K个数字有关。但是只告诉你初始前K-1个项的值和第N项的值,让你求是否存在一个满足条件的第K项。首先,由于这个递推式是: 这个式子是前K项的乘积,不方便我们用矩阵快速幂取递推,而本题n最大可以到1e9且K最大为100,根据复杂...原创 2019-02-01 21:17:14 · 776 阅读 · 0 评论 -
BZOJ 2219 数论之神 (BSGS + CRT + 原根)
简单粗暴的题意:求 X^A ≡ B(mod 2K+1) 在 X∈[0,2K]内有几个解。首先,这个2*K+1并不一定是一个质数,因此我们可以考虑对2*K+1进行分解质因数。根据中国剩余定理,如果我们可以把2*K+1拆成,那么我们可以把这一个方程拆成n个方程,每个方程是一样的同余方程,但是模数分别对应这n个质数的幂。根据定理,如果这n个方程中有一个方程无解,那么整个方程无解。...原创 2019-02-02 15:55:04 · 382 阅读 · 0 评论 -
牛客练习赛 41 简单数学题(数论 + 状态压缩 + FWT)
非常有意思的题,我解题的过程也是非常的精彩。纪念一下人生第一道FWT。首先是第一个f(t)函数,根据它的定义,首先是x必须是t的因子,然后要求莫比乌斯函数不为0,而且要满足这个条件的最大值。根据这几个条件,显然x就是t分解质因子后,所有质因子的乘积。然后g(x)函数,就是看每个因子的指数,如果是奇数那么这个质因子还在,否则相当于没有这个质因子。最后就是F(a,b,c),...原创 2019-03-04 19:29:09 · 344 阅读 · 0 评论 -
计蒜客 ICPC南昌网络赛 G tsy's number(莫比乌斯反演 + 线性筛)
大致题意:对于给定的n,要你计算: 首先,我们很容易可以推出 ,那么这个式子就可以化简为: 我们令d=gcd(i,j,k),然后把欧拉函数提到外面来,可以有: ...原创 2019-04-28 22:46:35 · 285 阅读 · 0 评论 -
HDU 4746 Mophues(莫比乌斯反演 + 数论)
一道比较简单的反演,随便推推式子玩玩。大致题意:求 ,其中f(x)表示x分解质因子后,质因子的指数之和。看到gcd,惯例还是把gcd的结果提取出来计算个数。 右边那个东西显然是一个可以反演的东西,这里我们直接跳过一些重复的过程,直接给出反演之后的结果: 考虑交换求和次序...原创 2019-04-30 19:25:56 · 250 阅读 · 0 评论 -
2019HDU多校赛 第一场 K HDU 6588 Function(莫比乌斯反演)
大致题意:计算和式 显然是一个道反演的题目,话不多说直接开始推导吧。首先把式子拆成两个求和部分: 然后你会发现前后两个式子都是的形式,于是我们考虑这个式子怎么计算。...原创 2019-07-26 10:25:33 · 522 阅读 · 0 评论 -
2019牛客多校赛 第三场 D Big Interger(数论 + 组合计数)
大致题意:一个数列为1,11,111,1111,......令A(n)表示这个序列的第n小的数字。告诉你p,n和m,让你求有多少对(i,j)可以使得,其中1<=i<=n,1<=j<=m,p为质数。根据这个数列的形式,数列的第n项等于。那么我们相当于找到所有的,使得。我们整理一下这个式子,可以得到:。当时,,根据欧拉定理有。但是这里不一定是...原创 2019-07-26 21:59:40 · 436 阅读 · 3 评论 -
LibreOJ 6053 简单的函数(Min25筛)
题意如题……又是一个典型的题。 f(x)是一个积性函数,满足其f(p)和f(p^c)容易计算,所以显然可以用Min25筛来求和。具体来说套用Min25筛的模板即可。关于Min25筛,见博客:https://blog.csdn.net/u013534123/article/details/82596172模板中需要替换的主要有几个地方。一是在初始化g(x,j)的时候,需要...原创 2018-09-13 20:51:59 · 381 阅读 · 0 评论 -
计蒜客 ICPC沈阳网络赛 Convex Hull(容斥原理 + 莫比乌斯函数)
大致提议:求题目中所给式子的求和。真的是非常非常非常简单的一道题目,式子都推对了,我竟然去想杜教筛而没有想容斥……根据函数的定义,很容易发现这个函数其实是或者说。然后对于题目给的式子,我们可以交换一下求和次序,可以得到: 然后把它拆开成为两部分: ...原创 2018-09-18 22:03:41 · 385 阅读 · 0 评论 -
Min25筛小结
关于筛法,最近看到了很多,也尝试的学了一些。总的来说可以分为线性筛和亚线性筛。所谓线性筛,就是可以在线性时间复杂度内求解的筛法。而亚线性筛则是时间复杂度更为优秀的筛法,通常时间复杂度可以达到小于线性时间,可以解决1e8~1e11范围内的问题。关于亚线性筛,之前已经写过了杜教筛,但是个人感觉用到的地方确实不太多,而且比较难构造。而这次要讲的Min25筛则相对要求的条件更低,而且不需要构造新的...原创 2018-09-10 23:49:20 · 8774 阅读 · 0 评论 -
HDU 5528 Count a*b ACM/ICPC 2015 Changchun(数论)
非常棒的一道数论题,而且还是一道金牌题,A了几乎就是金牌…… 至于具体推到姿势,由于符号难写,我就用某个大神的手迹来说明吧,大神写的真的很好。原文地址:http://blog.csdn.net/firstlucker/article/details/49336427 下面,我解释一下画横线那一步。之前已经是求到了sigma(gcd(a,x)),相当于1~x中所有数字与x的gcd之和。BTW,关于这个可以再说一篇文章,P原创 2017-09-08 21:22:56 · 511 阅读 · 0 评论 -
POJ 2480 Longge's problem(数论)
正如上一篇文章说的,这题就是求∑gcd(i, N)。 求这个正是很好很巧妙的利用了函数的积性。首先设g(x)=gcd(x,N),显然g(x)是具有积性的,那么根据定理,g(x)的和f(N)也是具有积性的。所以如果对于一个数字n,有n=p1^a1*p2^a2*p3^a3……pi^ai,那么f(n)=f(p1^a1)*f(p2^a2)*f(p3^a3)*……f(pi^ai)。现在的关键就是如何求每一个的f(pi^ai)。根据上一篇文章讲的,∑gcd(i, N)=∑dφ(N/d)。那么可以写成f(原创 2017-09-08 21:47:26 · 216 阅读 · 0 评论 -
2017多校训练赛第二场 HDU 6051 (数论)——By alpc_wh
If the starlight never fadeTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 122 Accepted Submission(s): 65Problem DescriptionWe will gi...原创 2017-07-29 23:00:53 · 882 阅读 · 0 评论 -
HDU 4794 Arnold ACM/ICPC 2013 Changsha(二次剩余+数论)
看了这么久,居然不是找规律的题目…… 大致题意是给你一个N*N的矩阵,然后告诉你阿诺德变换,即原来坐标为(x,y)的点变换一次后变成((x+y)%N,(x+2y)%N)。然后告诉你阿诺德变换一定能够通过有限次变换之后变换回原本的矩阵,然后让你求这个周期。 我们用(x,y)的形式表示每一个坐标,写出经过阿诺德变换之后的坐标。我们发现,对于坐标(x,y),经过有阿诺德变换之后,在模n的剩余系下可以写成(fib(n)x+fib(n+1)y,fib(n+1)x+fib(n+2)y)的原创 2017-09-22 08:50:04 · 964 阅读 · 0 评论 -
HDU 5942 Just a Math Problem(数论+容斥原理)
很裸的一道数论题,但是故事还是不少的。 先说说自己脑洞大开的想法。首先,说说自己脑洞大开的思路。根据题目的公式,我们很容易发现,很多数字的g(i)函数值其实是相等的,所以说我们统计的时候就可以统计每一个g(i)数值的贡献。相当于,我们就要求出有多少中质数的组合,然后对于每一种质数的组合,我们只需要计算有多少个数字拥有这样的组合形式。由于1e12的数据范围,最多含有11个质数,所以我们可以用dfs枚举所有的质数组合,紧接着再枚举每个质数的次方。在15s的时间内,对于sqrt(n)的小质数来说,原创 2017-10-15 00:01:46 · 611 阅读 · 0 评论 -
HDU 5943 Kingdom of Obsession(二分图匹配+数论)
大致题意是给你从n开始的s个连续的数字,例如n=15,s=3,那么对应16、17、18三个数字。然后,每个数字的可行放法是放在它的因子对应的位置上,例如8可以放到第1、2、4、8个位置上。问你是否存在一种摆法使得这s个数字能够合法的排成从1~s的一列。 一开始觉得是一个找规律的题目,但是仔细分析之后可以发现这之中还是可以体现一些算法的。对于一个数字i它可以放到它的约数对应的位置上,然后每个位置和数字一一对应,很容易发现这是一个匹配问题。如果数字能放到1~s的某一个位置,那么就连一条边,最后跑原创 2017-10-16 07:52:29 · 294 阅读 · 0 评论 -
CodeForces 896D Nephren Runs a Cinema(组合计数+数论+数形结合)
非常巧妙的一道综合数学题…… 大致题意:电影院有三种方式买票,要么花五十元买票进去,要么用卡不用钱,要么给一百元然后找五十元。然后一开始卖票的人没有钱找,然后问你总共有多少种方案,可以使得卖票的人不会出现没钱可找,且最后剩余的50元钱的张数在区间[l,r]之间。 首先,我们考虑简化版的问题,先不考虑用卡消费的方式,而且最后剩余的五十元钱张数为0。在这种情况下,依稀记得哪个学长讲过,对应可以转化到坐标轴上,人初始时在原点。然后五十元的相当于向前向上走一个单位,然后一百元对应向前原创 2017-12-10 01:14:12 · 704 阅读 · 0 评论 -
CodeForces 919E Congruence Equation(费马小定理+逆元)
好久没有写博客了,之前呢因为考试月还有雅思耽搁了挺久的,今天正式复出。 这道题,如果是现在拿给我做,应该是可以拿下的,在经历了给大一培训的一段时间之后。这题其实和我找的某一道题目有点类似,都是用费马小定理。 我们可以把 n 表示为 n= i*(p-1)+j。如此一来等式就是 (i*(p-1)+j)*a^(i*(p-1)+j)≡b(mod p)。根据别的题的经验,利用费马小定理 a^(p-1)≡1(mod p),等式可以化为 (i*(p-1)+j)*a^j≡b原创 2018-02-11 20:21:03 · 402 阅读 · 0 评论 -
CodeForces 55D Beautiful numbers(数位dp+数论)
很明显的一道数位dp,但是转移却并不是那么好想。 大致题意是,让你求区间内所有的能够每一位数字整除的数字有多少个。 最初始的想法是,设置dp[len][x]表示长度为x时且当前为x的倍数的时候的数量,但是在考虑转移的时候却发现,不能很好的处理这个倍数整除关系,每次新加入一个数字就会产生一个新的因子。于是抛弃这个想法。这里,我们考虑利用一些同余的性质,若a≡b(mod m) 且d|m 则a≡b(mod d)。我们可以知道,lcm(1~9)=2520,若a≡b(mod 2520)原创 2017-09-26 00:37:44 · 245 阅读 · 0 评论 -
HDU 2204 Eddy's爱好(容斥原理)
就是求在n以内,有多少个数字可以表示为M^K的形式。 如果考虑M的话,由于M可以很大,所以即使容斥也不现实。我们可以创造性的考虑观察这个指数K,因为这个指数K的取值要小于61。注意到如果有M^(ab)那么一定有(M^a)^b。什么意思呢?就是如果指数不是质数,那么一定可以每另外一组数字表示,且这组数字的指数是质数。所以说我们只需要统计指数是质数的数字能够组成多少个n以内的数字。显然,如果M^K<n,那么i^K<n,其中1<i<=M。于是每一个质数指数的贡献也就可以求出,原创 2018-04-06 16:15:58 · 286 阅读 · 0 评论 -
HDU 5321 Beautiful Set(莫比乌斯反演+数论)
大致题意:告诉你两个人计算美丽数字的方法。对于ZSTU来说,先把几何看作序列,每个序列的美丽数字是这个序列所有子区间的gcd之和,每个集合的美丽数字是这个集合所有排列序列的美丽数字之和。对于HDU来说,在集合中挑选k个数字,这k个数字的美丽数字是他们的gcd*k,这个集合的美丽数字是k的所有取值和所有挑选方法的美丽数字之和。现在让你分别在mod的意义下计算两个人的美丽数字之和,问最后在mod的意义下哪一个更大。对于ZSTU来说,这个问题还是比较棘手的。首先,我肯定是要计算每一个gcd的贡献,不可能去枚举 n原创 2018-08-03 18:25:36 · 480 阅读 · 0 评论 -
HDU 6327 2018HDU多校赛 第三场 Random Sequence(概率期望dp+数论)
大致题意:给你一个数列,里面的数字要么是0,要么是1~m中的一个数字。你需要随机的把这些0替换成1~m中的任意一个,然后再计算着整个数列的权值。权值定义为,现在问你最后权值的期望。由于这个v数组是输入的,也就是说没有什么性质,所以这个权值的表达式也不能用数论的知识推出什么结论。因此我们考虑暴力的dp。我们令dp[i][j][k][l]表示当前计算到第i位,且a[i]取j,a[i-1]取k,a[i-2]取l时的期望的分子。那么,从这个状态出发,枚举a[i+1]的数值,就看求出着四个数字的gcd,对应转移过去即原创 2018-07-31 15:33:41 · 801 阅读 · 0 评论 -
HDU 6340 2018HDU多校赛 第四场 Delightful Formulas(莫比乌斯反演+伯努利数+NTT+积性)
大致题意:给你k和m,还有n分解质因子之后的质因子及其对应的指数,让你求 。 首先,这种含有gcd的式子,第一步肯定是进行莫比乌斯反演,这里由于前面好几篇都由类似的反演形式,所以我就不展开了,直接就得出反演之后的结果: 对于最右边的式子 ,我们把i*d看作定值,这就是关...原创 2018-08-05 13:14:00 · 694 阅读 · 0 评论 -
莫比乌斯反演的两种形式及其证明
莫比乌斯反演形式一: 证明:把 代入右边的式子,得: 根据莫比乌斯函数的性质,有定理: 因此,只有...原创 2018-07-28 13:52:55 · 1893 阅读 · 0 评论 -
SPOJ 422 Transposing is Even More Fun(Polya计数)
大致题意:给你一个2ax2b的矩阵,然后让你把它转置为2bx2a的矩阵,每次可以交换两个数字,问最少需要多少步交换。 首先,我还是借鉴一下别人的图做一下解释。我们就以a=1,b=2为例子解释: 意思是,我把某一个位置的坐标转换成二进制表示。例如原本3的位置是010,转置之后就是100。通过观察,我们发现一个规律,对于一个一开始的位置的地址表示,把他进行旋转之后,对应地原创 2017-09-16 09:11:09 · 964 阅读 · 0 评论