数学-数论
Maxwei_wzj
AFO
展开
-
【BZOJ3529】数表(SDOI2014)-莫比乌斯反演+树状数组
测试地址:数表 做法:本题需要用到莫比乌斯反演+树状数组。 首先忽略aaa的限制,我们要求的是: ans=∑ni=1∑mj=1D(gcd(i,j))ans=∑i=1n∑j=1mD(gcd(i,j))ans=\sum_{i=1}^n\sum_{j=1}^mD(\gcd(i,j)) 其中D(i)D(i)D(i)指iii的约数和。 我们把上式改成枚举公因数ddd,不妨设n≤mn≤mn\le m...原创 2018-05-05 11:38:58 · 295 阅读 · 0 评论 -
【CF498C】Array and Operations-最大流+数论
测试地址:Array and Operations 题目大意:给定一个包含nnn个元素的数列AAA和mmm个数对(ik,jk)(ik,jk)(i_k,j_k),保证ik+jkik+jki_k+j_k是奇数,每次操作从mmm个数对里选一个,然后将AikAikA_{i_k}和AjkAjkA_{j_k}同除一个不等于111的公因数vvv,问最多能执行多少次操作。 做法:本题需要用到最大流+数论。 ...原创 2018-04-27 08:22:24 · 347 阅读 · 0 评论 -
【BZOJ3930】选数(CQOI2015)-数论+容斥
测试地址:选数 做法:本题需要用到数论+容斥。 首先把区间中所有能被kkk整除的数拿出来,显然只有在这些数里面取才可能得到最大公因数kkk,把这些数同除kkk,我们就得到了一个连续区间[l,r][l,r][l,r],问题转化成在区间[l,r][l,r][l,r]中取nnn个数,使得它们的最大公因数是111,求方案数。 这里我们有一个结论:在长度为nnn的连续区间内,两个不同的数的最大公因数&...原创 2018-05-04 16:39:52 · 261 阅读 · 0 评论 -
【BZOJ3994】约数个数和(SDOI2015)-莫比乌斯反演+数论分块
测试地址:约数个数和 做法:本题需要用到莫比乌斯反演+数论分块。 首先,因为ijijij的每个因数都可以唯一表示成pjqpjq\frac{pj}{q}的形式,其中p|i,q|j,gcd(p,q)=1p|i,q|j,gcd(p,q)=1p|i,q|j,\gcd(p,q)=1,所以有: d(ij)=∑x|i∑y|j[gcd(x,y)=1]d(ij)=∑x|i∑y|j[gcd(x,y)=1]d(i...原创 2018-05-04 12:39:16 · 218 阅读 · 0 评论 -
【BZOJ2299】向量(HAOI2011)-裴蜀定理
测试地址:向量 做法:本题需要用到裴蜀定理。 注意到题目中给的888个向量,实际上只有444对,每对互为相反向量,那么有: A(a,b)+B(b,a)+C(−a,b)+D(−b,a)=(x,y)A(a,b)+B(b,a)+C(−a,b)+D(−b,a)=(x,y)A(a,b)+B(b,a)+C(-a,b)+D(-b,a)=(x,y) 这个方程当且仅当有一组A,B,C,DA,B,C,DA,B...原创 2018-05-17 09:32:22 · 323 阅读 · 0 评论 -
【LuoguP3768】简单的数学题-杜教筛+数论分块
测试地址:简单的数学题 做法:本题需要用到杜教筛+数论分块。 首先推式子,因为∑d|nφ(d)=n∑d|nφ(d)=n\sum_{d|n}\varphi(d)=n,所以有: ∑ni=1∑nj=1ijgcd(i,j)∑i=1n∑j=1nijgcd(i,j)\sum_{i=1}^n\sum_{j=1}^nij\gcd(i,j) =∑ni=1i∑nj=1j∑d|gcd(i,j)φ(d)=∑i=1...原创 2018-05-03 17:26:08 · 257 阅读 · 0 评论 -
【BZOJ4916】神犇和蒟蒻-欧拉函数+杜教筛
测试地址:神犇和蒟蒻 做法:本题需要用到杜教筛。 啊,差不多一年没碰过这东西了,想当初学这个东西学出心理阴影了都……然而不能因为菜就停下自己的脚步,所以先做一道杜教筛基础题复健一下。 对于这道题目,第一问就是玩的,显然当i>1i>1i>1时μ(i2)=0μ(i2)=0\mu(i^2)=0,仅有μ(1)=1μ(1)=1\mu(1)=1,所以答案就是111。 对于第二问,根据欧拉函...原创 2018-05-03 15:53:49 · 224 阅读 · 0 评论 -
【BZOJ5302】奇怪的背包(HAOI2018)-裴蜀定理+DP
测试地址:奇怪的背包 做法:本题需要用到裴蜀定理+DP。 首先考虑一件物品aaa,我们发现axmodPaxmodPax\mod P实际上相当于ax−Pyax−Pyax-Py,根据裴蜀定理,我们可以通过这种形式配出所有是gcd(a,P)gcd(a,P)\gcd(a,P)倍数的数。扩展到多件物品也相同,我们可以得到所有是这些物品和PPP的gcdgcd\gcd的倍数的数。因为任何数和PPP的gcdg...原创 2018-05-03 09:53:16 · 574 阅读 · 0 评论 -
【BZOJ4652】循环之美(NOI2016)-杜教筛
测试地址:循环之美 做法:本题需要用到杜教筛+数论分块。 首先,思考一下纯循环小数这个条件有什么意义。注意到,如果一个数www的循环节长度为xxx,那么我们用kxwkxwk^xw减去www可以得到一个整数uuu,那么www就可以表示成ukx−1ukx−1\frac{u}{k^x-1},注意到分数能表达成这种形式是满足题目条件的充要条件,那么条件就变成一个分数能不能表示成这种形式,也就是存不存在...原创 2018-05-08 21:01:52 · 269 阅读 · 0 评论 -
【BZOJ3129】方程(SDOI2013)-容斥原理+扩展Lucas定理
测试地址:方程 做法:本题需要用到容斥原理+扩展Lucas定理。 首先,如果没有任何限制,那么非负整数解的数量就是Cn−1m+n−1Cm+n−1n−1C_{m+n-1}^{n-1},这个可以用隔板法求出,那么要求正整数解的话,其实只要转化成求∑(xi+1)=m∑(xi+1)=m\sum(x_i+1)=m的非负整数解数量即可,显然上面的方程可以转化为∑xi=m−n∑xi=m−n\sum x_i=...原创 2018-04-30 21:09:58 · 250 阅读 · 0 评论 -
【BZOJ1951】古代猪文(SDOI2010)-数论大集合
测试地址:古代猪文 做法:本题需要用到的数论知识有:费马小定理,枚举约数,中国剩余定理/合并模线性方程,扩展欧几里得,Lucas定理。可以说是一道很复杂的数论题了。 注意到题目要求的式子是: G∑k|nCn/knmodpG∑k|nCnn/kmodpG^{\sum_{k|n}C_n^{n/k}}\mod p 注意到p=999911659p=999911659p=999911659是一个质数,...原创 2018-04-19 11:22:53 · 251 阅读 · 0 评论 -
【BZOJ2257】瓶子和燃料(JSOI2009)-裴蜀定理+排序
测试地址:瓶子和燃料 做法:本题需要用到裴蜀定理+排序。 我们知道,如果我们有两个瓶子,容量分别为x,yx,yx,y,我们可以倒出任何ax+byax+byax+by体积的燃料(只要装得下,并且体积不是负数),那么根据裴蜀定理,能倒出的最小正体积就是gcd(x,y)gcd(x,y)\gcd(x,y)。那么问题就变成,在nnn个数中取kkk个数,使得这些数的最大公因数最大。 我们可以考虑枚举这些...原创 2018-04-18 23:21:25 · 214 阅读 · 0 评论 -
【BZOJ1485】有趣的数列(HNOI2009)-卡特兰数+线性筛
测试地址:有趣的数列 做法:本题需要用到卡特兰数+线性筛。 按照题目中的要求,我们可以把相邻的两项看做一个数对,如果第iii个数对表示第iii个元素进队、出队的时刻,我们可以转化题目中的限制条件: 1.整个数列是一个排列:即一个时刻只能进行一个进队或出队操作。 2.所有奇数项和偶数项单调递增:即元素的进队顺序和出队顺序确定,且先进先出。 3.对于同个数对中的两项,奇数项小于偶数项:即进队...原创 2018-04-18 22:13:01 · 207 阅读 · 0 评论 -
【BZOJ4816】数字表格(SDOI2017)-莫比乌斯反演+数论分块
测试地址:数字表格 做法:本题需要用到莫比乌斯反演+数论分块。 本题要求的是: ans=∏ni=1∏mj=1f(gcd(i,j))ans=∏i=1n∏j=1mf(gcd(i,j))ans=\prod_{i=1}^n\prod_{j=1}^mf(\gcd(i,j)) 不妨设n<mn<mnddd的形式: ans=∏nd=1f(d)∑ni=1∑mj=1[gcd(i,j)=d]ans...原创 2018-05-05 19:25:59 · 289 阅读 · 0 评论 -
【BZOJ4869】相逢是问候(六省联考2017)-扩展欧拉定理+线段树
测试地址:相逢是问候 做法:本题需要用到扩展欧拉定理+线段树。 我们知道在gcd(c,p)=1gcd(c,p)=1\gcd(c,p)=1时,有欧拉定理: cx≡cx%φ(p)(modp)cx≡cx%φ(p)(modp)c^x\equiv c^{x\%\varphi(p)}(\mod p) 然而本题中c,pc,pc,p并不一定互质,那么我们有扩展欧拉定理: 当x≥φ(p)x≥φ(p)x\g...原创 2018-05-18 19:23:05 · 386 阅读 · 0 评论 -
【BZOJ3233】找硬币(AHOI2013)-DP+数论
测试地址:找硬币做法: 本题需要用到DP+数论。假设我们有了构造出了一个合法硬币序列xxx,怎么计算最少需要使用的硬币数量?显然,因为xkx_kxk为xk−1x_{k-1}xk−1的倍数,能用大的就应该用大的,那么对于最大的币值xkx_kxk,应该要使用⌊aixk⌋\lfloor\frac{a_i}{x_k}\rfloor⌊xkai⌋个,于是还剩下ai%xka_i\%x_kai%...原创 2018-10-31 22:34:49 · 354 阅读 · 0 评论 -
【BZOJ3202】项链(SDOI2013)-数论+组合数学综合
测试地址:项链题目大意: 用n(≤1014)n(\le 10^{14})n(≤1014)个珠子串成一个环形项链,每个珠子是正三棱柱,每一面上写一个111 ~ a(≤107)a(\le 10^7)a(≤107)中的数字,当且仅当写的三个数字gcd\gcdgcd为111时,这个珠子是合法的珠子。两个珠子旋转或翻转后相同就看做相同。用nnn个合法的珠子串成一个环形项链,要求相邻两个珠子不同,求本质不...原创 2018-10-19 16:24:08 · 606 阅读 · 0 评论 -
【BZOJ2820】YY的GCD-莫比乌斯反演+数论分块+分类讨论
测试地址:YY的GCD 题目大意:求∑p=prime∑ni=1∑mj=1[gcd(i,j)=p]∑p=prime∑i=1n∑j=1m[gcd(i,j)=p]\sum_{p=prime}\sum_{i=1}^n\sum_{j=1}^m[\gcd(i,j)=p],T(≤104)T(≤104)T(\le 10^4)组询问,n,m≤107n,m≤107n,m\le 10^7。 做法:本题需要用到莫比乌...原创 2018-06-17 12:26:50 · 285 阅读 · 0 评论 -
【BZOJ5323】游戏(JXOI2018)-线性筛+组合计数
测试地址:游戏 做法:本题需要用到线性筛+组合计数。 首先我们知道,如果一个数在区间内没有除了它自己以外的因数,那么这个数就必须要取,不然不能满足所有数都被取过。再然后,如果一个数在区间内有除了它自己以外的因数,那它就没有必要取了,也就是说取这个数是多余的,因为它的某一个因数是一定要取的,那么在它被取的时候这个数就已经被取了。由这两个结论,我们得出一个排列ppp的t(p)t(p)t(p)就等于...原创 2018-05-24 16:54:03 · 648 阅读 · 0 评论 -
【BZOJ4815】小Q的表格(CQOI2017)-数论+分块
测试地址:小Q的表格 做法:本题需要用到数论+分块。 这道题可真是个神题……之所以标题笼统地写了数论,是因为它用到的知识实在是有点多……这里给大家,也算给自己理一遍思路,以免忘了。 首先分析题目所给二元函数的条件: f(a,b)=f(b,a)f(a,b)=f(b,a)f(a,b)=f(b,a) b⋅f(a,a+b)=(a+b)⋅f(a,b)b⋅f(a,a+b)=(a+b)⋅f(a,b)b...原创 2018-05-25 11:22:47 · 305 阅读 · 0 评论 -
【BZOJ4197】寿司晚宴(NOI2015)-状压DP+数论
测试地址:寿司晚宴 做法:本题需要用到状压DP+数论。 考虑nnn小一点的情况,我们发现题目条件等价于两个人所选的数的质因子集合不相交,那么我们令f(i,j,k)f(i,j,k)f(i,j,k)为考虑了前iii个数,其中第一个人取的数的质因子集合为jjj,第二个人取的数的质因子集合为kkk的方案数,状态转移方程应该很好写了,详见代码,用枚举子集的技巧就可以做到O(n3p(n))O(n3p(n)...原创 2018-05-07 20:46:59 · 228 阅读 · 0 评论 -
【BZOJ1025】游戏(SCOI2009)-数论+背包DP
测试地址:游戏 做法:本题需要用到数论+背包DP。 注意到题目中所给的是一个置换,一个置换中会有若干个循环,而题目中的排数就是这些循环长度的LCM+1+1+1,所以问题等价于求若干个和为NNN的数,它们的LCM有多少种。 注意到111对LCM不产生任何影响,所以这若干个数的和只需要≤N≤N\le N即可(因为剩下的可以用111去填)。而对于一些数,它们的LCM为各个质数在这些数中出现的最大次...原创 2018-05-14 09:27:45 · 218 阅读 · 0 评论 -
【BZOJ2956】模积和-数论分块
测试地址:模积和 做法:本题需要用到数论分块。 题目要求的是:∑ni=1∑mj=1[i≠j](n−⌊ni⌋i)(m−⌊mj⌋j)∑i=1n∑j=1m[i≠j](n−⌊ni⌋i)(m−⌊mj⌋j)\sum_{i=1}^n\sum_{j=1}^m[i\ne j](n-\lfloor \frac{n}{i}\rfloor i)(m-\lfloor \frac{m}{j}\rfloor j) 也就是...原创 2018-04-11 17:04:22 · 433 阅读 · 0 评论 -
【BZOJ1257】余数之和(CQOI2007)-数论分块
测试地址:余数之和 做法:本题需要用到数论分块。 我们发现题目要求的就是: ∑ni=1(k−⌊ki⌋i)∑i=1n(k−⌊ki⌋i)\sum_{i=1}^n (k-\lfloor\frac{k}{i}\rfloor i) 我们知道⌊ki⌋⌊ki⌋\lfloor \frac{k}{i}\rfloor只有不超过2k−−√2k2\sqrt k种取值。简单证明一下,当1≤i≤k−−√1≤i≤k1\...原创 2018-04-11 15:37:59 · 287 阅读 · 0 评论 -
【POJ2154】Color-Polya定理+欧拉函数
【POJ2154】Color-Polya定理+欧拉函数原创 2017-06-05 14:13:08 · 580 阅读 · 0 评论 -
【HDU5072】Coprime-补集转化+容斥原理+质因数分解
【HDU5072】Coprime-补集转化+容斥原理+质因数分解原创 2017-05-30 12:17:19 · 570 阅读 · 0 评论 -
【NOI2011T1】兔农-矩阵快速幂+乘法逆元
【NOI2011T1】兔农-矩阵快速幂+乘法逆元原创 2017-05-29 20:20:47 · 616 阅读 · 0 评论 -
【SPOJ7001】Visible Lattice Points-莫比乌斯反演+分块
【SPOJ7001】Visible Lattice Points-莫比乌斯反演+分块原创 2017-05-28 14:11:13 · 399 阅读 · 0 评论 -
【BZOJ2440】完全平方数(中山市选2011)-二分答案+莫比乌斯函数应用
【BZOJ2440】完全平方数(中山市选2011)-二分答案+莫比乌斯函数应用原创 2017-05-27 17:58:34 · 486 阅读 · 0 评论 -
【POJ3358】Period of an Infinite Binary Expansion-欧拉定理+数论好题
【POJ3358】Period of an Infinite Binary Expansion-欧拉定理+数论好题原创 2017-05-27 10:12:27 · 546 阅读 · 0 评论 -
【POJ3696】The Luckiest Number-欧拉定理+快速幂
【POJ3696】The Luckiest Number-欧拉定理+快速幂原创 2017-05-26 23:57:55 · 1096 阅读 · 0 评论 -
【POJ3090】Visible Lattice Points-欧拉函数应用
【POJ3090】Visible Lattice Points-欧拉函数应用原创 2017-05-26 18:11:53 · 516 阅读 · 0 评论 -
【POJ2891】Strange Way to Express Integers-解一元线性同余方程组
【POJ2891】Strange Way to Express Integers-解一元线性同余方程组原创 2017-05-26 11:42:00 · 371 阅读 · 0 评论 -
【POJ2429】GCD & LCM Inverse-Pollard-rho分解+枚举
【POJ2429】GCD & LCM Inverse-Pollard-rho分解+枚举原创 2017-05-25 23:38:38 · 489 阅读 · 0 评论 -
【POJ1811】Prime Test-Miller-Rabin素数测试+Pollard-rho大数分解
【POJ1811】Prime Test-Miller-Rabin素数测试+Pollard-rho大数分解原创 2017-05-25 19:54:44 · 580 阅读 · 0 评论 -
【NOI2008T1】假面舞会-DFS环处理+最大公因数
【NOI2008T1】假面舞会-DFS环处理+最大公因数原创 2017-04-02 22:55:44 · 710 阅读 · 0 评论 -
【Vijos-P1172】反质数-DFS
【Vijos-P1172】反质数-DFS原创 2016-08-11 18:13:31 · 633 阅读 · 0 评论 -
【51Nod1244】莫比乌斯函数之和-杜教筛+哈希表
【51Nod1244】莫比乌斯函数之和-杜教筛+哈希表原创 2017-06-16 14:33:06 · 716 阅读 · 0 评论 -
【51Nod1239】欧拉函数之和-杜教筛+哈希表
【51Nod1239】欧拉函数之和-杜教筛+哈希表原创 2017-06-16 17:16:28 · 607 阅读 · 0 评论 -
【BZOJ4818】序列计数(SDOI2017)-矩阵优化DP+线性筛质数
测试地址:序列计数 做法:本题需要用到矩阵优化DP+线性筛质数。 我们很快就能想到一个状态定义:令f(i,j)f(i,j)f(i,j)为iii个数的数列中,数字和对ppp取模的结果为jjj的方案数,那么我们很快就能得出状态转移方程。又根据这个状态转移方程,每一个状态都只和上一层的一些状态有关,而且每一层的状态数较少,所以又想到使用矩阵优化,那么就可以做到O(p3logn)O(p3logn)O...原创 2018-04-10 15:48:15 · 202 阅读 · 0 评论