方法:数论 暴力 一个正整数n的因子个数d(n) 在number theory 是一个multiplicative function,有公式。利用素数筛选先求出 sqrt(1e9)内的素数,然后对范围内每一个数求解d(n), 去最大的即可。 code: 由于范围比较小(1e4), 据说不预处理素数, ...
分类:
其他好文 时间:
2017-01-30 10:42:07
阅读次数:
301
方法:素数筛选 素数筛选法的推广。先求出H-primes, 可以证明得到,任意两个H-prime相乘,结果都是semi-prime H-number。求出范围内所有semi-primes,预处理前缀和即可。 (这里用到一种O(n) 素数筛选的方法) code: ...
分类:
其他好文 时间:
2017-01-30 10:40:27
阅读次数:
215
方法:数论 因为n <= factorsum(n) <= 1000, 可以暴力打表,求出所有n <= 1 所对应的factorsum(n), 求的时候甚至不需要O(n^0.5) 来判断因子,O(n) 判断也可以通过。 然而如果factorsum的范围很大该如何求呢。可以推导得出 。那么可以素数筛选预 ...
分类:
其他好文 时间:
2017-01-29 10:49:27
阅读次数:
215
题意:给一系列操作,每个操作有两个数t和k,t=0表示求k以内的最大反素数;t=1表示求小于k且与k互质的数的个数。 分析:对第一个操作,直接用dfs求反素数就行了,直接上反素数的模板;第二个操作素数筛法的思想预先打个表。 ...
分类:
其他好文 时间:
2017-01-26 10:40:21
阅读次数:
144
1 #include 2 #define size 100002 3 void prime(){ 4 bool a[size]={false}; 5 a[2]=true; 6 long long i; 7 for(i=3;i<size;i=i+2)a[i]=true;//将3以上的偶数标记为fals... ...
分类:
其他好文 时间:
2016-12-24 17:09:18
阅读次数:
114
题意:有N个数,Alice 和 Bob 轮流对这些数进行操作,若一个数 n=a*b且a>1,b>1,可以将该数变成 a 和 b 两个数; 或者可以减少为a或b,Alice先,问谁能赢 思路:首先单看对每个数进行除法的操作,我们可以知道其实是在除以每个数的素因子或素因子之间的积 比如 70=2*5*7 ...
分类:
其他好文 时间:
2016-12-14 21:46:15
阅读次数:
246
给你一个n求出n由2个奇质因子的和 这2个因子差最大 没有就输出‘Goldbach's conjecture is wrong. ...
分类:
其他好文 时间:
2016-12-13 19:12:07
阅读次数:
213
给你一个n 求包括n的一个非素数区间有多长 +1输出 ...
分类:
其他好文 时间:
2016-12-13 18:40:51
阅读次数:
157
题目的意思比较简单,类似计数dp。 一开始我想让dp[i]+=dp[i-prime] 每次遍历比i小的所有素数,然后发现有重叠的 比如 2+3 3+2 就导致错误。看了其他人的填充方式,发现定下prime 然后定向的更新i就可以避免重复问题 还有就是。。 尼玛的素数筛法居然 居然。。写错了。。 反省 ...
分类:
其他好文 时间:
2016-12-12 22:30:39
阅读次数:
221
【今天我们来讲讲筛子】 【埃氏筛的基本思想】 简单来说就是把不大于(n为数据范围)以内的素数的倍数全都去掉,那么剩下的就是2~n之间的素数了。 【举个例子】 我们假设现在n是25。 第一步:先把2作为筛子,那么所有2的倍数都被筛掉了。 则当前序列为:2 3 5 7 9 11 13 15 17 19 ...
分类:
编程语言 时间:
2016-12-02 21:38:29
阅读次数:
164