![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
欧拉函数
lleozhang
这个作者很懒,什么都没留下…
展开
-
bzoj 2005
非常好的题 简化一下题意,我们可以发现:(0,0)与(x,y)之间经过的整点的数量等于gcd(x,y)-1! 利用这条性质,我们可以列出一个表达式: 稍微化简一下,得: 接下来,是最重要的一部分: 引理: 那么,将x=gcd(i,j)代入,得: 再化简一下,得: 由于n,m很小,所以预处理出φ,然后暴力枚举计算即可 #include <cstdio&...原创 2018-10-26 16:22:53 · 186 阅读 · 0 评论 -
bzoj 2186
非常有趣的题 题意:求1~N!中有多少个与M!互质的数,T组询问,答案对R取模 题解: 首先,因为N>M,所以N!>M!,所以答案一定有一部分是φ(M!) 接下来做一些分析: 引理: 若x与p互质,则x+kp与p互质(k∈Z) 证明: 反证法:假设x+kp与p不互质,则设gcd(x+kp,p)=d(d!=1),那么设p=k1d,x+kp=k2d,于是: x=k2d-k...原创 2018-10-26 19:14:04 · 196 阅读 · 0 评论 -
bzoj 2190
题意:求 题解:这题...数据范围是真小... 研究一下这一表达式,发现gcd(i,j)=1表示i,j互质,那么互质肯定能想到欧拉函数,可是欧拉函数要求j<i,那么我们变化一下:显然原矩阵是对称的,所以可以转化一下,变成 (注意到后面-1是为了防止(1,1)被重复统计) 那么发现答案就是 所以事实上,这道题的算法是线性的,那么n可以变得更大一些 #include <cst...原创 2018-10-26 19:45:34 · 227 阅读 · 0 评论