OI中的那些实用的小trick 在OI中,我们时常会用到一些小技巧,无论是代码方面还是数学方面抑或是卡常,都有很多不错的小技巧。 鄙人不才,往往没办法想出来,于是就有了这篇汇总帖~ 如有疏漏,还请dalao指教! 1. 结论:$gcd(F[n],F[m])=F[gcd(n,m)]$,其中F为斐波那契 ...
分类:
其他好文 时间:
2019-08-31 19:43:12
阅读次数:
100
题意: 给出$M$和$a数组$,询问每一个$d\in[1,M]$,有多少组数组满足:正好修改$k$个$a$数组里的数使得和原来不同,并且要$\leq M$,并且$gcd(a_1,a_2,\dots,a_n)=d$。 思路: 对于每一个$d$,即求$f(d)$:修改$k$个后$gcd(a_1,a_2, ...
分类:
其他好文 时间:
2019-08-31 16:57:59
阅读次数:
70
该文出自于编程之美中关于最大公约数问题一章。 任意给定两个数字,得到其最大公约数 GCD(greatest common divisor),如果两个数字都很大怎么解决。 分析:最大公约数早在公元前300年,欧几里得的《几何原本》里就提出了一个高效率算法 辗转相除法。 解法一: 假设f(x,y)表示x ...
分类:
其他好文 时间:
2019-08-31 14:43:22
阅读次数:
101
原题 题目链接 题目分析 题意很明确,这里的模数是不互质的,因此不能直接套中国剩余定理.这里稍微讲一下中国剩余定理的扩展,假设前i个方程的特解为ans(i),通解为x(i)=ans(i)+k*lcm(前i个模数).把x(i)代入到第i+1个方程,用扩展欧几里得定理求解k=k0,ans(i+1)=an ...
分类:
其他好文 时间:
2019-08-31 10:48:30
阅读次数:
75
原题 题目链接 题目分析 这道题用Pollard Rho算法不能交G++,会RE!!!先说一下整体思路,gcd指gcd(a,b),lcm指lcm(a,b).a=x*gcd,b=y*gcd,则x,y互质且有x*y=lcm/gcd,要使a+b最小,也就是x+y最小.这里可以看出我们要做的就是分解lcm/ ...
分类:
其他好文 时间:
2019-08-31 10:42:49
阅读次数:
81
题意: $Q\leq5000$次询问,每次问你有多少对$(x,y)$满足$x\in[1,n],y\in[1,m]$且$gcd(x,y)$的质因数分解个数小于等于$p$。$n,m,p\leq5e5$。 思路: 题目即求 $$ \sum_{k}\sum_{i=1}^n\sum_{j=1}^m[gcd(i ...
分类:
其他好文 时间:
2019-08-30 22:51:28
阅读次数:
82
题目: 分析: 注意:对于xi<=100的30分来说,1和1是互质的(互质的定义是gcd==1) F(n)=∑d|nf(d)正解: f(n)=∑d|nμ(d)F(?nd?) ...
分类:
其他好文 时间:
2019-08-30 20:53:45
阅读次数:
58
一、题目 Gcd & Lcm game 二、分析 非常好的一题。 首先考虑比较暴力的做法,肯定要按区间进行处理,对于$lcm$和$gcd$可以用标准的公式进行求,但是求$lcm$的时候是肯定会爆$long long$的。 考虑用素数分解,将所有的数分解后,发现素因子的个数有限,且每个因子的幂也有限, ...
分类:
其他好文 时间:
2019-08-29 20:02:34
阅读次数:
71
两两枚举点(xi,yi)(xj,yj)对于第三个点(xk,yk),只要向量ik和ij方向不同即可 只要(xj-xi,yj-yi) 和 (xk-xi,yk-yi)化简后不相同即可,用每个点开个map存下一个gcd的pair即可 ...
分类:
其他好文 时间:
2019-08-29 17:49:20
阅读次数:
83
excrt的理解 问对于方程组x = ai % ci 的 通解 x+tM, (x+tM) % k 是否有唯一值 看tm%k是否==0即可 ...
分类:
其他好文 时间:
2019-08-29 16:24:06
阅读次数:
111