求欧拉函数φ\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
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2813题意:
定义Fibonacci数列为F1=1,F2=1,Fi=Fi?1+Fi?2(i>=3)F_1=1,F_2=1,F_i=F_{i-1}+F_{i-2}(i>=3)。
对于某一个数F_i,求有多少个F_j能够整除F_i (i可以等于j),以及所有满足条件的j的平方之和。询问...
分类:
其他好文 时间:
2015-02-27 18:27:33
阅读次数:
193
题目大意:给定i,求斐波那契数列中有多少F[j]是F[i]的约数,以及这些j的平方和
定理:Gcd(F[i],F[j])=F[Gcd(i,j)]
证明见 http://hi.baidu.com/wyl8899/item/b4ed30e6b9f404acce2d4f68
那么当F[j]|F[i]时,必有Gcd(F[j],F[i])=F[j]
则此时F[Gcd(j,i)]=F[j]
若Gcd...
分类:
其他好文 时间:
2015-01-14 16:59:55
阅读次数:
178
题目大意:一个M*M的矩阵,(i,j)位置上的值是gcd(i,j),问这个矩阵的行列式的值。
思路:考试的时候考了这个题,有人居然打表发现规律,简直跪啊。。。
其实用高斯消元之后不难发现,要求的就是从1到m的phi的乘积,一个线性筛就解决了。
CODE:
#include
#include
#include
#include
#define MAX 1000...
分类:
其他好文 时间:
2015-01-11 09:45:57
阅读次数:
146
题目大意:给定一个n阶行列式,第i行第j列为GCD(i,j),求这个行列式的值
高斯消元之后发现对角线上的东西是phi
于是线性筛出所有的欧拉函数即可
/*
#include
#include
#include
#include
#include
#define M 110
using namespace std;
int n;
double f[M][M];
void Gauss...
分类:
其他好文 时间:
2015-01-09 10:51:17
阅读次数:
128
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2693题意:同2154 多组数据题解:按2154再往后转化一下就可以把n,m放到一边儿,然后线性筛右边。 硬要看推导的话可以戳:http://blog.csdn.net/popoqqq/artic...
分类:
其他好文 时间:
2015-01-09 08:03:39
阅读次数:
467
一道机房小伙伴出的原创题,现提供一种比较简单的推导公式法。...
分类:
其他好文 时间:
2014-12-29 09:00:44
阅读次数:
193
题目大意:n维多面体中有多少n-1维,n-2维,n-3维。。。1维元素,求他们的异或和并%p。
思路:考试题,当时做的时候不会线性筛乘法逆元,就得了70分。。。
算法和标程不太一样,标程好象是递推,但是我空间想象力不够,没推出来。。只能找规律了。。花了一个半小时才找出来的规律。。
CODE:
#include
#include
#include
#includ...
分类:
其他好文 时间:
2014-12-29 08:58:45
阅读次数:
172
题目大意:同2154 多组数据
后面那坨东西 由于积性函数的约数和仍是积性函数 因此只需要线性筛一下就行
i%prime[j]==0那部分由于多出来的因数都不是无平方因子数因此μ值都为0 增加的只有原先的D/i
#include
#include
#include
#include
#define M 10001000
#define MOD 100000009
using ...
分类:
其他好文 时间:
2014-12-22 14:34:59
阅读次数:
126