最大公约数与最小公倍数
文章平均质量分 68
WerKeyTom_FTD
我是一只来自中山纪念中学高三的oier,请多多指教
展开
-
[bzoj1172]Dream
题目大意n*m的矩形,从第一行开始依次取数。 第一行与最后一行只能取一个数,其余行可以取1~2个数。 问有多少种取数顺序使得所取的数乘积被p整除,答案模mo。DP我们想要知道乘积能否被p整除,所关心得只是乘积与p的gcd。 找出p的所有因子,可知其因子数量是三位数级别。 然后设f[i,j]表示前i行取了一些数使得乘积与p的gcd是p的第j个因子的方案。可以先在每一行内做,再进行转移。 当然原创 2016-07-03 09:57:49 · 506 阅读 · 0 评论 -
幂
题目大意给你一个nnn,求最小正整数kkk,使得对于任意整数aaa都满足 ank≡a(mod n)ank≡a(mod n)a^{n^k}\equiv a(mod\ n) 或输出无解。做法首先发现nnn含有平方因子时是无解的。 假设nnn含有平方因子pcpcp^c,那么我们令a=npcpa=npcpa=\frac{n}{p^c}p时是不合法的。 因为nk≥n≥...原创 2018-05-26 21:22:42 · 534 阅读 · 0 评论 -
斐波那契
题目大意F[0]=0,F[1]=1,F[n]=F[n-1]+F[n-2]。 现在要求gcd(aF[n]+bF[n+1],cF[n]+dF[n+1])。 a,b,c,d<=1000,n<=1e18。做法我们可以先辗转相除。 即(a,b,c,d)=(c,d,a%c,b-(a/c)d)。 辗转到最后会把c变成0。 问题变成求gcd(aF[n]+bF[n+1],cF[...原创 2018-05-22 15:58:52 · 905 阅读 · 0 评论 -
[51nod1355]斐波那契的最小公倍数
题目大意求n个斐波那契数的最小公倍数。做法首先斐波那契数列有性质(fn,fm)=f(n,m)(f_n,f_m)=f_{(n,m)} 具体证明不证了,烂大街的性质了。 构造数列g满足 fn=Πd|ngdf_n=\Pi_{d|n}g_d 可以用莫比乌斯反演求出g gn=Πd|nfμ(nd)dg_n=\Pi_{d|n}f_d^{\mu(\frac{n}{d})} 接下来我们知道求lcm可以转化原创 2017-06-25 22:33:29 · 1066 阅读 · 0 评论 -
[bzoj4815][CQOI2017]小Q的表格
题目描述小Q是个程序员。 作为一个年轻的程序员,小Q总是被老C欺负,老C经常把一些麻烦的任务交给小Q来处理。每当小Q不知道如何解决 时,就只好向你求助。为了完成任务,小Q需要列一个表格,表格有无穷多行,无穷多列,行和列都从1开始标号。 为了完成任务,表格里面每个格子都填了一个整数,为了方便描述,小Q把第a行第b列的整数记为f(a,b),为了完成 任务,这个表格要满足一些条件:(1)对任意的正原创 2017-06-16 17:12:32 · 667 阅读 · 0 评论 -
[luoguP3598]Koishi Loves Number Theory
题目大意第i个数是xai+1−1x−1\frac{x^{ai+1}-1}{x-1} 求n个数的lcm结论(xn−1,xm−1)=x(n,m)−1(x^n-1,x^m-1)=x^{(n,m)}-1 可以用辗转相除法来证明。 (xn−1,xm−1)=(xn−xm,xm−1)=(xm∗(xn−m−1),xm−1)(x^n-1,x^m-1)=(x^n-x^m,x^m-1)=(x^m*(x^{n-m}-原创 2017-02-15 15:22:25 · 612 阅读 · 0 评论 -
太阳神
题目描述太阳神拉很喜欢最小公倍数,有一天他想到了一个关于最小公倍数的题目。 求满足如下条件的数对(a,b)对数:a,b均为正整数且a,b<=n而lcm(a,b)>n。其中的lcm当然表示最小公倍数。答案对1,000,000,007取模推式子我们先做个补集转化。 然后就是统计这样的三元组(a,b,d)个数了 1、a*b*d<=n 2、(a,b)=1 a和b定了,d的取值就有nab\frac{原创 2016-11-09 21:14:45 · 13231 阅读 · 0 评论 -
running
题目描述小胡同学是个热爱运动的好孩子。 每天晚上,小胡都会去操场上跑步,学校的操场可以看成一个由n 个格子排成的一个环形,格子按照顺时针顺序从0 到n �� 1 标号。 小胡观察到有m 个同学在跑步,最开始每个同学都在起点(即0 号格子),每个同学都有个步长ai,每跑一步,每个同学都会往顺时针方向前进ai 个格子。由于跑道是环形的,如果 一个同学站在n �� 1 这个格原创 2016-10-06 07:53:34 · 783 阅读 · 0 评论 -
Walk
题目大意给定一颗边权树,对于任意i求出f[i]表示一条长度为i的简单路径gcd的最大值。瞎做我们可以把每条边挂在其的约数上,使用质因数分解。 对每个gcd做一下,对保留的所有边构出新树,然后对于所有这些边涉及到的点形成的每个联通块用两遍dfs求直径,最终得到森林的最长链。 设最长链为k,当前枚举的gcd为v,则f[k]=max(f[k],v)f[k]=max(f[k],v) 这样做显然会错,但原创 2016-11-08 22:36:50 · 385 阅读 · 0 评论 -
公约数
题目大意求n以内多少对a和b满足(a,b)=a xor b结论a=b不可能合法 假设a>b 观察(a,b)<=a-b a xor b>=a-b 于是要符合条件,必须a-b=(a,b)=a xor b=c 那么a/c=b/c+1 枚举b/c,然后检验倍数是否合法。 n log n#include<cstdio> #include<algorithm>#define fo(i,a,b)原创 2016-09-02 21:37:05 · 380 阅读 · 0 评论 -
[SRM695-900]BearEmptyCoin
题目大意有一个两面为空的硬币,正面和反面有区别。 你需要甩kkk次,每次其会有一面朝上,如果该面为空,你填一个整数上去,若不为空,获得该分数。 你希望最大化分数和为sss的概率。做法如果s mod k=0s mod k=0s\ mod\ k=0显然我们不管哪面都会填s/ks/ks/k,输出2k2k2^k。 你能决定的是第一次摇到第2个面时,...原创 2018-06-03 15:27:49 · 564 阅读 · 0 评论