码迷,mamicode.com
首页 >  
搜索关键字:筛法    ( 586个结果
POJ2478_Farey Sequence【快速求欧拉函数】
POJ2478_Farey Sequence【快速求欧拉函数】 题目大意: 给你一个数n,对于0 < a < b <= n,求真分数a/b的个数 思路:因为a/b为真分数,所以a和b互质。 求真分数a/b的个数。其实就是求0 < i <= n中,小于i的正整数中, 有多少个与i互质的数。累加起来就是真分数a/b的个数。 其实就是欧拉函数 因为n的规模为10^6,可用快速求欧拉函数的方法求得(类似于筛法求素数)。 根据推论:设P是素数, 若p是x的约数,则E(x*p)=E(x)*p. 若p不是x的约数...
分类:其他好文   时间:2014-10-15 23:10:51    阅读次数:178
BZOJ 2005 NOI2010 能量采集 数论
题目大意:给定n和m,求Σ(1 i和j的限制不同,传统的线性筛法失效了,这里我们考虑容斥原理 令f[x]为GCD(i,j)=x的数对(i,j)的个数,这个不是很好求 我们令g[x]为存在公因数=x的数对(i,j)的个数(注意不是最大公因数!),显然有g[x]=(n/x)*(m/x) 但是这些数对中有一些的最大公因数为2d,3d,4d,我们要把他们减掉 于是最终f[x]=(n/x)*(m/...
分类:其他好文   时间:2014-10-09 15:46:48    阅读次数:366
UVa 10539 - Almost Prime Numbers
题目:Almost Prime Numbers是只有一个素数因子的数,统计一个区间中的Almost Prime Numbers。 分析:数论,分治。根据定义可知Almost Prime Numbers就是素数的幂(大于1次)。             首先,利用筛法计算出1000000内的素数(至少的素数的平方);             然后,计算所有的素数的小于1000000000000...
分类:其他好文   时间:2014-10-09 02:24:57    阅读次数:162
BZOJ2749 [HAOI2012]外星人
数论好题!!!首先由题目给的公式,对于素数x > 2,phi(x)会变出好多2...而phi(2) = 1YY一下就可以发现,就是求出每一个质数经过分解会变出多少个2来,2的个数就是ans。于是我们令f[i]表示i分解出了几个2:这一过程类似素数筛法i为质数,f[i] = f[i - 1];否则,f...
分类:其他好文   时间:2014-10-07 01:20:42    阅读次数:509
UVa 10179 - Irreducable Basic Fractions
题目:计算一个给定数的欧拉函数(1~n-1中和n互质的数的个数)。 分析:数论,素数筛法,欧拉函数。             欧拉函数:φ(n)= n *(1 - 1/p1)*(1 - 1/p2)*(1 - 1/p3)*…*(1 - 1/pt);             这里利用筛法打表计算出50000内的素数,因为数据范围是1000000000内的,             所以,不...
分类:其他好文   时间:2014-10-05 15:04:08    阅读次数:215
windows下的C/C++精确计时
由于我要测试线性筛法的速度,用上了C/C++精确计时.此时传统的clock()方法不够用了,我们需要另一种测量的办法,即CPUTicks/CPUFreq.如何实现呢?#include LARGE_INTEGER freq,start,stop;QueryPerformanceFrequency(&f...
分类:编程语言   时间:2014-10-04 20:11:27    阅读次数:196
线性筛法(欧拉筛法)求素数
写$\text{O}\left( n \log{\log{n}}\right)$的筛法很长时间了,我却从来没想过它的优化.偶然间看到线性筛法,心想大约是不错的优化,于是便爬去学习下.首先,$\text{O}\left( n \log{\log{n}}\right)$的筛法肯定要比$\text{O}\...
分类:其他好文   时间:2014-10-04 17:41:56    阅读次数:331
欧拉函数 & 【POJ】2478 Farey Sequence & 【HDU】2824 The Euler function
http://poj.org/problem?id=2478http://acm.hdu.edu.cn/showproblem.php?pid=2824欧拉函数模板裸题,有两种方法求出所有的欧拉函数,一是筛法,而是白书上的筛法。首先看欧拉函数的性质:欧拉函数是求小于n且和n互质(包括1)的正整数的个...
分类:其他好文   时间:2014-10-03 20:11:05    阅读次数:226
POJ2689_Prime Distance【素数】【两次筛法】
题目大意:给你一个区间【L,U】,求出从L到U之间素数序列中,连续两个素数差值最大 的最小的两对素数对,但其中(1<=L< U<=2,147,483,647),但区间【L,U】距离不超 过1000000 思路:因为L,U的值太大了,普通素性判断和素数筛法都不可行,所以可以考虑先筛选 一次,筛出50000以内的素数,然后用50000以内的素数再次筛选出区间【L,U】的素 数。第一次素数筛法比较简单,主要是第二次筛法,分别判断【L,U】中每个数是50000 以内的素数的多少倍,若为1倍,则从2倍开始筛选。若不为...
分类:其他好文   时间:2014-09-25 01:17:57    阅读次数:394
【POJ3006】Dirichlet's Theorem on Arithmetic Progressions(素数筛法)
简单的暴力筛法就可。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 using namespace std;10 11 const int N = 1...
分类:其他好文   时间:2014-09-20 15:18:57    阅读次数:182
586条   上一页 1 ... 52 53 54 55 56 ... 59 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!