题意:求sum{gcd(i, j) | 1 ≤ i 2 typedef long long LL; 3 4 const int maxn = 4000000; 5 6 int phi[maxn + 10]; 7 LL f[maxn + 10]; 8 9 void phi_table()10 ...
分类:
其他好文 时间:
2015-03-07 21:10:28
阅读次数:
168
这题满满的黑科技orz题意:给出L,要求求出最小的全部由8组成的数(eg: 8,88,888,8888,88888,.......),且这个数是L的倍数sol:全部由8组成的数可以这样表示:((10^x)-1)*(8/9)那么有m=((10^x)-1)*(8/9)=k*L,answer即满足条件的最...
分类:
其他好文 时间:
2015-03-05 20:46:50
阅读次数:
182
求欧拉函数φ\varphiO()√O(\sqrt)时间复杂度的算法首先我们要求φ\varphi(x),可以先将其分解成∏(apii)\prod(a_i^{p_i})的形式,其中aa是素数。
然后可以推导出公式φ\varphi(x)=∏(apii?api?1i)\prod(a_i^{p_i}-a_i^{p_i-1})
然后这个可以实现为φ\varphi(x)=x/∏(ai?1)x/\prod(a_...
分类:
其他好文 时间:
2015-03-03 16:40:48
阅读次数:
345
题意:给出N,求所有满足i gcd(x/i,n/i)=1 -> x/i与n/i互质 -> 满足该条件的x/i有phi(n/i)个那么再用欧拉函数就可以求出每一个f(n)啦~如果找n的每一个约数i会有点慢,可以枚举i,令n=2*i,3*i,........(n是i的所有倍数且小于MAXN) for (...
分类:
其他好文 时间:
2015-03-02 19:04:05
阅读次数:
141
欧拉函数的定义:E(k)=([1,n-1]中与n互质的整数个数). 由于随意正整数都能够唯一表示成例如以下形式: k=p1^a1*p2^a2*……*pi^ai;(即分解质因数形式) 能够推出:E(k)=(p1-1)(p2-1)……(pi-1)*(p1^(a1-1))(p2^(a2-1))……(pi^...
分类:
其他好文 时间:
2015-02-27 16:42:40
阅读次数:
93
传送门:Bi-shoe and Phi-shoe题意:给出多个n(1=n的最小的x之和。分析:先预处理出1~1e6的欧拉函数,然后建立一颗线段树维护最大值,对于每个n询问大于等于n的最左边下标。#pragma comment(linker,"/STACK:1024000000,1024000000"...
分类:
其他好文 时间:
2015-02-24 21:01:57
阅读次数:
316
发现自己搜索真的很弱,也许做题太少了吧。代码大部分是参考别人的,=_=||题意:给出一个phi(n),求最小的n分析:回顾一下欧拉函数的公式:,注意这里的Pi是互不相同的素数,所以后面搜索的时候要进行标记。先找出所有的素数p,满足(p - 1)整除题目中所给的phi(n)然后暴搜。。素数打表打到1e...
分类:
其他好文 时间:
2015-02-24 15:06:39
阅读次数:
169
poj 3696
题意:
给出一个数字L,求出最短的888...8能被L整除,输出最短的长度。
限制:
1
思路:
设x为最小长度
888...8=(10^x-1)/9*8
由题意得:
(10^x-1)/9*8 % L=0
-> (10^x-1)*8 % (9L) = 0
-> (10^x-1) % (9L/gcd(L,8)) = 0
-> 10^x % (9L/gcd(...
分类:
其他好文 时间:
2015-02-23 09:44:51
阅读次数:
132
欧拉函数
定义:欧拉函数phi(n),表示小于或等于n的数中与n互质的数的数目。
欧拉函数的性质:
1. phi(1)=1
2. 若n是素数p的k次幂:phi(n)=p^k-p^(k-1)=(p-1)p^(k-1)
3. 若m,n互质,phi(mn)=phi(m)*phi(n)
欧拉函数的递推式:
令p为n的最小质因数
若p^2|n,则phi(n)=phi(n/...
分类:
其他好文 时间:
2015-02-23 09:44:23
阅读次数:
183
首先,在谈到素数筛选法时,先涉及几个小知识点.
1.一个数是否为质数的判定.
质数,只有1和其本身才是其约数,所以我们判定一个数是否为质数,只需要判定2~(N - 1)中是否存在其约数即可,此种方法的时间复杂度为O(N),随着N的增加,效率依然很慢。这里有个O()的方法:对于一个合数,其必用一个约数(除1外)小于等于其平方根(可用反证法证明),所以我们只需要判断2~之间的数即可.
b...
分类:
其他好文 时间:
2015-02-20 22:03:45
阅读次数:
321