问题描述 对于任何正整数x,其约数的个数记作g(x)。例如g(1)=1、g(6)=4。 如果某个正整数x满足:g(x)>g(i)02×109。所以,我们就得到了一个很重要的性质: 性质一:在[1,2×10^9]中,一个数最多有10个不同的质因子。 根据经验,一个正整数N,其约数个数是级的[3]。因此...
分类:
其他好文 时间:
2014-07-29 12:12:56
阅读次数:
203
B.Race to 1UVA 11762 第一次接触概率dp,完全没想到是dp...没想到能递推出来0 0 首先需要知道 总的期望=每件事的期望×每件事发生的概率 然后可以根据这个来写递推公式,也是dp? 假设不小于x的质数有m个,x的质因子有n个(种 更确切),那么在求X的期望时,可以考虑...
分类:
其他好文 时间:
2014-07-27 21:37:35
阅读次数:
280
掌握了容斥原理后,便会发现,这是一道简单的容斥原理的题。
题目描述:给定A, B, N (1 <= A <= B <= 10^15,1<=N <= 10^9).求[A,B]区间内与N互素的数的个数
看到这道题,自然联想到跟素数相关的知识,所以在做这道题之前,我忍不住整理一下关于素数的基本算法。
1、素数筛选法(求1~n的素数):http://blog.csdn.net/yzj577/article/details/38147433
2、验证素数:http://blog.c...
分类:
其他好文 时间:
2014-07-27 11:27:22
阅读次数:
291
定理:一个正整数 n 可以用素因子唯一表示为 p1^r1 * p2^r2 * ...
pk^rk (其中 pi 为素数) , 那么这个数的因子的个数就是,(r1+1)*(r2+1)*...*(rk+1).
理解:为什么是加1之后再相乘,因为一个数的的因子数至少为1和他自身,但因为r1,r2。。可以为0,所以因子的个数为(r1+1)。。。
拓展一下:
定理1: 一个正整数 n 可以用素...
分类:
其他好文 时间:
2014-07-26 15:32:46
阅读次数:
194
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1562
题意:求小于等于n(1 16)的约数个数最多的数。
反素数
根据反素数的定义,这个题就是让求最大的反素数。
反素数搜索的依据的两个重要的性质:
反素数的质因子是从2开始的连续的素数;
p=2^t1*3^t2*5^t3*7^t4.....必然t1>=...
分类:
其他好文 时间:
2014-07-24 17:41:46
阅读次数:
138
题目描述,例如13195的质因子有5,7,13,29,其中29是最大质因子,现在给你一个数600,851,475,143,,让你求它的最大质因子。这个数记为number,在2-sqrt(number)内先找出质因子然后让number除这些比较小的质因子不断的变小最后剩下的number%i==0的nu...
分类:
其他好文 时间:
2014-07-23 22:10:47
阅读次数:
153
UVA 11542 - Square
题目链接
题意:给定一些数字,保证这些数字质因子不会超过500,求这些数字中选出几个,乘积为完全平方数,问有几种选法
思路:对每个数字分解成质因子后,发现如果要是完全平方数,选出来的数字的每个质因子个数都必然要是偶数,这样每个质因子可以列出一个异或的方程,如果数字包含质因子,就是有这个未知数,然后进行高斯消元,求出自由变量的个数,每个自由变量...
分类:
其他好文 时间:
2014-07-22 22:38:34
阅读次数:
175
状态压缩其实刚开始没看懂为什么要用位运算后来看了别人的注释逐渐明白我也加上注释吧 1 #include 2 using namespace std; 3 4 long long Prime[50];//存放N的质因子 5 6 7 long long getNonCoPrime(long lo...
分类:
其他好文 时间:
2014-07-22 00:05:36
阅读次数:
226
private static void prime(int i){
int j = 2;
while(true){
while(i%j == 0 && i != j){
System.out.println("Prime num " + j);
i = i/j;
}
if(i == j){
...
分类:
其他好文 时间:
2014-07-21 23:30:20
阅读次数:
426
UVA 11762 - Race to 1
题意:给定一个n,每次随即选择一个n以内的质数,如果不是质因子,就保持不变,如果是的话,就把n除掉该因子,问n变成1的次数的期望值
思路:tot为总的质数,cnt为质因子个数,那么f(n)=(1?cnt/tot)?f(n)+∑f(n/prime)?(1/tot),然后利用记忆化搜索去做即可
代码:
#include
#inclu...
分类:
其他好文 时间:
2014-07-17 15:36:46
阅读次数:
211