
数论
文章平均质量分 64
gcd与lcm/同余理论/中国剩余定理/BSGS等
小衣同学
No Saturday , no Sunday , no holiday .
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
AtCoder Beginner Contest 371 G. Lexicographically Smallest Permutation(数论 枚举 扩展CRT思想)
后面的环长cyc[i+1]对应枚举mn[i+1]的时候,如果再遇到remain[p]的话,不能冲突,需要确定一个旋转次数x,使得x%cyc[1]=mn[1],x%cyc[2]=mn[2],等等。可以枚举cyc[i]的每个质因子p,把当前mn[i]%p的值记录下来,记为remain[p]找到符合约束条件的位置的最小值mn[2],再令x%cyc[2]=mn[2],并旋转。因为cyc[1]+cyc[2]+...=n,总环长是n,所以当前环长是可枚举的。其中cyc[1]是从前到后遇到的第一个环的环长,原创 2024-09-23 03:49:01 · 640 阅读 · 0 评论 -
Codeforces Round 969 (Div. 1) C. Eri and Expanded Sets(线段树维护差分数组gcd+双指针+尺取)
由于gcd只会缩成因子,所以对于所有原创 2024-09-23 03:23:24 · 402 阅读 · 0 评论 -
Codeforces Round 973 (Div. 2) E. Prefix GCD(n个数重排使得gcd前缀和最小 补写法)
每一步都取最小的即可,gcd log次就变1了所以暴力就完了。原创 2024-09-21 03:12:47 · 544 阅读 · 0 评论 -
Codeforces Round 954 (Div. 3) G2. Permutation Problem (Hard Version)(数论)
这个时间复杂度应该可以过G2,但是这个G2卡空间,写map会mle43,手写哈希也卡不过。给定n(n<=5e5)的排列p,求满足pi*pj是i*j倍数的(i,j)对数。(pi/i)*(pj/j)=k,比如,(4/3)*(9/2)=6,一定存在pi的约数x、pj的约数y满足(2/3)*(3/2)=1。实际t(t<=1e4)组数据,保证sumn不超过5e5。暴力这么做是一个log一个约数个数d(n)的。参考了一些选手的写法,写成了倍数枚举的形式。可以过G1,但是会在G2上MLE。朴素想法,时间复杂度是对的,原创 2024-06-25 19:59:20 · 226 阅读 · 0 评论 -
AtCoder Beginner Contest 335 (Sponsored by Mynavi) G. Discrete Logarithm Problems(群论的阶 拉格朗日定理)
n(n原创 2024-01-16 01:51:12 · 778 阅读 · 0 评论 -
Toyota Programming Contest 2023#8(AtCoder Beginner Contest 333)G. Nearest Fraction(有理实数求分母不超过n的最优逼近)
和一个分母n(n原创 2023-12-18 06:06:32 · 493 阅读 · 0 评论 -
The 2023 ICPC Asia Regionals Online Contest (1) E. Magical Pair(数论 欧拉函数)
剩下的部分就很神奇了,首先需要注意到各个素因子的贡献是独立的,可以连积。答案对998244353取模,保证n-1不是998244353倍数。T(T<=10)组样例,每次给出一个n(2<=n<=1e18),这里给一下SSerxhs教的做法吧(图源:我、tanao学弟)对于求某个素因子的幂次的贡献时,用到了解的分布是均匀的性质。关于这部分,题解里给的中国剩余定理的构造,也很巧妙。OEIS、SSerxhs、官方题解。是等价的,其中bi为满足。原创 2023-09-24 22:26:51 · 682 阅读 · 1 评论 -
Educational Codeforces Round 142 (Rated for Div. 2) E. Divisors and Table(数论+dp 素因子求因子 补写法)
Educational Codeforces Round 142 (Rated for Div. 2) E. Divisors and Table(数论求所有因子+dp 补写法)原创 2023-01-25 13:34:13 · 452 阅读 · 0 评论 -
AtCoder Beginner Contest 283 Ex. Popcount Sum(类欧经典问题:数x在二进制表示下第k位的值)
AtCoder Beginner Contest 283 Ex. Popcount Sum(类欧经典问题)原创 2022-12-31 20:12:37 · 823 阅读 · 6 评论 -
Codeforces Round #833 (Div. 2) D. ConstructOR(构造 逆元/exgcd)
Codeforces Round #833 (Div. 2) D. ConstructOR(构造 逆元/exgcd)原创 2022-11-13 19:07:09 · 743 阅读 · 0 评论 -
The 2021 ICPC Asia Taipei Regional Programming Contest L. Leadfoot(组合数学/2-adic赋值函数+kummer定理)
题目这个题意还是看题面比较好司机个数未知,每个司机初始赢0局,输0局,两个当前赢的局数和输的局数相同的司机,会在一起比赛一局,比完之后,其中一个司机赢的局数+1,另一个司机输的局数+1,司机当他总共赢了n场,或总共输了m场之后就不再继续比赛,你想邀请最少的司机数,使得每个人都能要么总共赢n场,要么总共输m场,其中,赢了0场、输了m场的司机将会被授予Leadfoot badges,k(k<=1e5)组样例,每次给出n,m(1<=n,m<=1e5),原创 2022-02-14 01:17:59 · 2043 阅读 · 0 评论 -
Harbour.Space Scholarship Contest 2021-2022 (open for everyone, rated, Div. 1 + Div. 2) (E.思维题 F.数论)
E. Permutation Shift(思维题)长为n的排列,初始为1 2 3 ... n,你可以初始右移k步,比如右移一步的序列就是2 3 ... n 1,你有m(0<=m<=n/3)次交换机会,每次可以交换两个任意位置,给定一个目标排列,问存在多少种右移偏移量k,使得序列能通过不超过m次交换,换成给定的目标排列,输出所有的k诈骗题,一个显然的事实是,经过一次交换最后有2个位置归位,所以m次只能最多2m个归位,需要初始情况需要满足至少已经有n/3个归.原创 2021-07-28 17:07:37 · 279 阅读 · 0 评论 -
Codeforces Round #305 (Div. 2) C. Mike and Frog(思维题-扩展欧几里得 特判)
题目给一个模数m(2<=m<=1e6)开始有数1,记为h1,还有数2,记为h2(0<=h1,h2<m)每一天,数i,都会变成(xi*hi+yi)%m其中x1,x2,y1,y2是四个给出的系数,也满足在[0,m)之间现在有两个目标,a1和a2,也都在[0,m)之间想要某一天,h1变成a1,h2变成a2,问最少的天数是多少题目保证初始h1不等于a1,h2不等于a2思路来源乱搞AC题解首先找到h1第一次变成a1,h2第一次变成a2的天数,分别原创 2021-07-09 21:21:32 · 181 阅读 · 0 评论 -
Codeforces Round #641 (Div. 1) A. Orac and LCM(数论 gcd与lcm性质)
题目n(2<=n<=1e5)个数的数组a[],满足ai(1<=ai<=2e5)求gcd({lcm({ai,aj})|i<j}),即对任意两个不同下标(i,j),求其最小公倍数lcm(i,j)再对这C(n,2)个结果,求其最大公约数gcd思路来源题解题解1600的题也要总结,我也太废物了吧……①一个比较直观好做的做法,枚举素因子pi,考虑pi在至少n-1个数中都出现才可以被保留下来,否则两个pi的0次幂其gcd一定为1如果在n个数中..原创 2020-06-16 01:47:38 · 321 阅读 · 0 评论 -
Codeforces Round #648 (Div. 2) G.Secure Password(交互题+数论Sperner定理)
Codeforces Round #648 (Div. 2) G.Secure Password(交互题+数论Sperner定理)原创 2020-06-12 23:23:52 · 738 阅读 · 0 评论 -
hdu6275 Mod, Xor and Everything(分块+类欧)
题目T(T<=5)组样例,每次给定一个正整数n(n<=1e12)求(n mod 1) xor (n mod 2) xor ... xor (n mod (n - 1)) xor (n mod n)思路来源https://blog.csdn.net/Code92007/article/details/97396823https://blog.csdn.net/qq_43316231/article/details/99751317(相当清晰的题解QAQ)题解类似超级绵羊原创 2020-06-07 12:16:33 · 526 阅读 · 0 评论 -
Mail.Ru Cup 2018 Round 2 C. Lucky Days(数论/裴蜀定理)
题目给定Alice和Bob幸运日期段和循环节,输入三个整数la,ra,ta(0≤la≤ra≤ta−1,2≤tb≤1e9),代表Alice在[la+k*ta,ra+k*ta]在k>=0期间幸运,输入三个整数lb,rb,tb(0≤lb≤rb≤tb−1,2≤tb≤1e9),代表Bob在[lb+k*tb,rb+k*tb]在k>=0期间幸运,求二人幸运时间的最大交集,即最长公共连...原创 2020-01-27 23:42:52 · 383 阅读 · 0 评论 -
BZOJ 3884 上帝与集合的正确用法(欧拉广义降幂)
题目样例数T<=1e3,需取模的p<=1e7思路来源https://blog.csdn.net/tianyizhicheng/article/details/81698600题解很巧妙,记原式结果为g,由于2的个数是无限的,所以开一个函数f(d)来实现求g mod(d)功能,那么要求g mod(d)就得求g mod(phi[d]),递归求f(phi[...原创 2019-07-19 21:56:44 · 360 阅读 · 0 评论 -
南昌邀请赛 C.Xyjj’s sequence(欧拉降幂+dp)
题目给定a,b(1<=a,b<=1e5),素数p=1e5+3,给定长度n(n<=5e3)的两个数组,va[]和vb[](1<=vai,vbj<=1e5)要求把va和vb代入上式中求出wa[]和wb[]对于wa[]、wb[]数组,将两个数组归得到最后完整数组c[]c中每一段长度为k的连续的全都相同的值v,对答案的贡献是(k-1)*v求最后最大...原创 2019-07-26 15:23:50 · 272 阅读 · 0 评论 -
蓝桥杯 小数第n位(数论/无逆元时的同余公式)
题目如果我们把有限小数的末尾加上无限多个0,它们就有了统一的形式。本题的任务是:在上面的约定下,求整数除法小数点后的第n位开始的3位数。输入三个整数:a b n,a是被除数,b是除数,n是所求的小数后位置(0<a,b,n<1e9)输出3位数字,表示:a除以b,小数后第n位开始的3位数字。思路来源http://xianka.luobotou.org/?p=259...原创 2019-07-26 15:23:05 · 284 阅读 · 0 评论 -
CodeForces - 906D Power Tower(广义欧拉降幂模板)
题目n(n<=1e5)个数,第i个数为wi(1<=wi<=1e9),给出一个模数m(1<=m<=1e9)q(q<=1e5)个询问,每次给出l,r(1<=l<=r<=n),求思路来源https://www.cnblogs.com/ACMLCZH/p/8117161.html?tdsourcetag=s_pctim_aiomsg...原创 2019-09-03 18:33:42 · 358 阅读 · 0 评论 -
UVA-10780 Again Prime? No Time. (数论-勒让德定理-质因数分解)
题意给一个m,给一个n,求m的最大次方数ans,能被n!整除。思路来源https://blog.csdn.net/u011345136/article/details/38658977题解将m质因数分解m=,对于每个质因子pi,其在n!中出现的次数为sum=+…+,其中max是p的不超过n的最大幂,显然,pi的出现了1次,pi²的出现了2次,在pi中被统计一...原创 2018-12-13 21:53:34 · 408 阅读 · 0 评论 -
hdu6189 Law of Commutation(数论)
题目给定两正整数n,a(n<=30,1<=a<=1e9),令m=,求[1,m]内满足的b的个数思路来源https://blog.csdn.net/v5zsq/article/details/79325038题解转载一下思路来源的证明,附一点说明和心得①若a为奇数,则为奇数;若b为偶数,有为偶数所以mod m之后的奇偶只与底数有关,故a、b同奇偶...转载 2019-07-05 10:37:43 · 281 阅读 · 0 评论 -
Codeforces Round #552 (Div. 3) G.Minimum Possible LCM(数论-埃筛+枚举gcd)
题目给你n(2<=n<=1e6)个数,1<=ai<=1e7要求输出两个下标i和j,使得lcm(ai,aj)最小,多解时,输出任意两个即可,但要保证i<j思路来源dreamoon巨神的CF代码题解首先,将每个出现的位置记在pos[]数组里,考虑到,存在lcm(x,x)==x的情形,在读入的时候特判一下再考虑到,lcm(x,y)==x*...原创 2019-04-17 21:00:51 · 310 阅读 · 0 评论 -
紫书 UVA-11582 Colossal Fibonacci Numbers! (数论-循环节)
题目给定0<=a,b<,1<=n<=1000,求fib()%n思路来源https://www.cnblogs.com/naturepengchen/articles/3947118.html题解注意到,n<=1000的时候,最多n²项会出现循环节,实际循环节的证明见“斐波那契数列模n条件下循环节的长度”的证明打表可以证明,n<=1...原创 2019-04-03 19:34:11 · 192 阅读 · 0 评论 -
Gym-101652P Fear Factoring(枚举贡献/数论分块)
题目每个数i的函数F(i)定义为其所有因子之和给定a,b<=1e12,相差不超过1e6,求a到b的所有F(i)之和思路来源https://blog.csdn.net/computer_user/article/details/79957509题解显然是要枚举因子算贡献,然后要搞前缀和算[1,r]-[1,l-1]两种做法,一个是这次要学的援引的博主的做法……...原创 2019-02-08 22:36:28 · 257 阅读 · 0 评论 -
关于欧拉函数的猜想(来自牛客某群友)
QAQ大晚上不睡觉在这里写博客是这样的,某牛客群友给出了一个猜想 对于任意给定正整数n,满足大于n且phi(p)>n的最小正整数p,一定是素数 我盯着素数表和欧拉函数表……这不显然成立么……然而证明证了我快三个小时也没证出来 涉及到素数的分布问题但大概是等价推导了一下吧感觉挺好玩的记录一下 因此,在我看来这个问题它等价于...原创 2019-01-17 01:30:46 · 500 阅读 · 2 评论 -
hdu5407 CRB and Candies(数论-Kummer定理)
题意求lcm(C(n,0),C(n,1),…,C(n,n)),n<=1e6思路来源https://blog.csdn.net/u010579068/article/details/47833525https://www.zhihu.com/question/34859879(关于Kummer定理及其LCM性质的证明)题解关于lcm(C(n,0),C(n,1),…,...原创 2018-12-16 20:36:36 · 535 阅读 · 0 评论 -
ZOJ-3593 One Person Game(数论-扩展欧几里得)
题意给一个起点A,一个终点B,从起点出发,每次可以选择向左或向右走a格,b格,或c格(c=a+b),走一次记为一步,求A到B的最小步数,无法走到输入-1思路来源https://blog.csdn.net/yjf3151731373/article/details/70071941题解最后肯定是求ax+by=d,d=abs(B-A)当d不能整除c=gcd(...原创 2018-12-15 21:18:54 · 501 阅读 · 0 评论 -
hdu3988 Harry Potter and the Hide Story(数论-勒让德定理-质因子分解)
题意给出一个n,一个k,求k的最大次方ans,能被n!整除思路来源http://www.cnblogs.com/toyking/p/3893157.html题解先预处理1e7以内的素数,O(nlognlogn)每个k,对素数表里跑一遍,这样素数枚举的时候,O(T·cnt),就不是O(T·sqrt(k))了剩下的操作,和今晚的上个题相同(见上篇UVA-10780)...原创 2018-12-13 23:17:17 · 450 阅读 · 0 评论 -
BZOJ1041 圆上的整点(数论)
思路来源http://hzwer.com/1457.htmlhttps://blog.csdn.net/Regina8023/article/details/43112801题解据说是ICPC沈阳现场赛题BZOJ1041原题特意来补一下神tmBZOJ原题巨多有点后悔高中没搞好数论一道裸数论题,直接搞肯定会T(a,b)与(b,a)贡献相同,不妨a<b...原创 2018-12-03 22:24:12 · 351 阅读 · 0 评论 -
UVA11889 Benefit (数论)
题意给一个A一个C,求最小的B,满足A和B的最小公倍数是C。思路来源自己的脑洞题解AC了之后看了看网上的题解感觉比较沙雕还是自己总结一发吧先令B=C/A,注意到C=A*B/gcd(A,B)如果gcd(A,B)=1,那么B显然即为所求,如果gcd(A,B)不为1,不断地,令A/=gcd(A,B),再去令B=C/A,判断A和B是否互质,互质输出B...原创 2018-12-12 22:58:07 · 247 阅读 · 0 评论 -
Codeforces Round #471 (Div. 2) C - Sad powers / 院科技文化节初级组 E-翼神的幸运数字(筛)
题解k=2的情况单独作差,完全平方数单独统计k≠2的情况,其余为非完全平方数。即a^(2*k+1)的情况统计去重。统计非完全平方数的奇次方即可。心得二分的部分要自己写啊 统计<=x的最大下标 upper_bound-1会越界的吧凯神的代码还是不错的吖 要好好学习吖代码1#include<bits/stdc++.h>#define INF...原创 2018-12-03 14:51:36 · 334 阅读 · 0 评论 -
BZOJ1053/ZOJ2562 反素数ant/More Divisors(数论相关+dfs暴搜)
题意输出不超过n的最小反素数所谓反素数,是指比它小的数的约数个数,都严格比它少即输出不超过n的约数最多的数若约数个数相同,输出最小的那个题解首先,我们知道约数个数,ai为其素因子pi的幂次,证明很简单,就是在那个约数里,这个素因子选几个,0个,1个,…,ai个,共ai+1种选择,累乘即可。然后如果(ai+1)*(aj+1)相同,pi<pj,如,约...原创 2018-12-04 13:20:37 · 329 阅读 · 0 评论 -
ACM-ICPC 2018南京现场赛 J-Prime Game(枚举素因子贡献+欧拉筛)
题目思路来源https://blog.csdn.net/m0_37624640/article/details/83276324题解博主代码写的清楚明白把每个数分解素因子,分别在对应的素因子vector内放入该数的位置那么,由于一个数不同的素因子不会超过8个(2*3*5*7*11*13*17*19=9 699 690)那么最后所有vector里的位置的个数总和...原创 2019-02-09 13:46:34 · 458 阅读 · 0 评论 -
AtCoder Beginner Contest 090 D - Remainder Reminder(余数性质)
题目给你一个n,一个k,k+1<=n<=1e5问有多少对(a,b),a<=n且b<=n,且a%b>=k输出这个对数思路来源https://blog.csdn.net/tong_zhi/article/details/79533298题解只有b比k大,余数才能大于等于k所以枚举b,从k+1到nb把区间[1,n]分成n/b个完整段,还可...原创 2019-02-09 20:48:22 · 442 阅读 · 0 评论 -
poj2480 Longge's problem(数论/欧拉函数性质 gcd求和)
题目对于N(1<N<(1<<31)),求思路来源https://blog.csdn.net/AgoniAngel/article/details/51308742https://blog.csdn.net/wmn_wmn/article/details/7733874题解枚举因数d即可,可以同时统计d和n/d的贡献,把复杂度降到心得自己板...原创 2019-03-12 21:21:33 · 289 阅读 · 0 评论 -
牛客小白月赛12 C-华华给月月出题(数论/线性筛+完全积性函数性质)
题目输入n(n<=1e7+3e6),输出ans思路来源官方题解https://ac.nowcoder.com/discuss/160376?type=101&order=0&pos=5&page=1思路来源https://ac.nowcoder.com/acm/contest/view-submission?submissionId=403...原创 2019-03-11 21:51:05 · 275 阅读 · 0 评论 -
牛客小白月赛12 D-月月给华华出题(数论/欧拉函数性质+埃筛思想)
题目输入一个n(n<=1e6)对每个1<=i<=n,回答的值思路来源官方题解https://ac.nowcoder.com/discuss/160376?type=101&order=0&pos=5&page=1关于最后一步欧拉函数性质的证明https://blog.csdn.net/qq_40861876/article/de...原创 2019-03-11 21:27:04 · 416 阅读 · 0 评论 -
ACM训练联盟周赛第一场 C-A Simple Math Question(筛+贡献+卡常)
题目题解非常卡常的题,只有16384KBbitset占用空间是bool的八分之一,优化一波然后3e8缩到1e8,特判2和3的倍数,把剩下的压缩剩下的就是裸的勒让德定理枚举贡献的统计了代码#include<iostream>#include<cstdio>#include<cstring>#include<bi...原创 2019-04-14 21:09:04 · 365 阅读 · 0 评论