思路:对于n^k其实就是每个因子的个数乘了一个K。然后现在就变成了求每个数的每个质因子有多少个,但是比赛的时候只想到sqrt(n)的分解方法,总复杂度爆炸,就一直没过去,然后赛后看官方题解感觉好妙啊!通过类似素数筛法的方式,把L - R的质因子给分解,就可以在O(nlogn)的时间之内把所以的数给筛 ...
分类:
其他好文 时间:
2017-08-05 21:09:02
阅读次数:
104
被这一道题打崩,打表的题目啊~~~~类似大区间的素数筛法(POJ2689)题目链接约数和定理:d(n) = (a1 + 1)(a2 + 1)……(an + 1){ai 指的是 质因数分解后质数pi的个数}代码: #include #include #include #include #define ... ...
分类:
其他好文 时间:
2017-08-03 23:43:15
阅读次数:
174
/*hdu6069[素数筛法] 2017多校3*/ #include using namespace std; typedef long long LL; LL l, r, k; const LL MOD = 998244353LL; int T, n, prime[1100000], primes... ...
分类:
其他好文 时间:
2017-08-03 23:43:08
阅读次数:
146
题意:。。。就题面一句话 思路:比赛一看公式,就想到要用到约数个数定理 约数个数定理就是: 对于一个大于1正整数n可以分解质因数: 则n的正约数的个数就是 对于n^k其实就是每个因子的个数乘了一个K 然后现在就变成了求每个数的每个质因子有多少个,但是比赛的时候只想到sqrt(n)的分解方法,总复杂度 ...
分类:
其他好文 时间:
2017-08-03 21:52:36
阅读次数:
175
附:素数筛法原理(具体出处记不得了,可以留言我补上) 【算法-ACM-素数】求素数的算法及其复杂度分析 关于搜寻一定范围内素数的算法及其复杂度分析 ——曾晓奇 关于素数的算法是信息学竞赛和程序设计竞赛中常考的数论知识,在这里我跟大家讲一下寻找一定范围内素数的几个算法。看了以后相信对大家一定有帮助。 ...
分类:
其他好文 时间:
2017-07-14 23:13:58
阅读次数:
349
素数定义: 质数(prime number)又称素数,有无限个。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数,这样的数称为质数。例 子:2、3、5、7、11、13、17、19。 素数一些性质: 素数应用: 判断素数: 素数筛法是这样的: 1.开一个大的bool型数组prime[], ...
分类:
其他好文 时间:
2017-07-13 21:49:13
阅读次数:
142
问:求2000以内的素数? 筛法求素数 和 暴力 时间复杂度 筛法求素数:O(N^2) 暴力:O(N^N) 原理: 去掉1,最小的数是素数,然后将最小数的倍数全部去掉,直到最小的数到达范围为止 用筛子把非素数全部筛出去。 bool是C++中的一种数据类型 0代表false 1代表true bool一 ...
分类:
其他好文 时间:
2017-02-12 15:49:02
阅读次数:
139
题意:给一系列操作,每个操作有两个数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
题目的意思比较简单,类似计数dp。 一开始我想让dp[i]+=dp[i-prime] 每次遍历比i小的所有素数,然后发现有重叠的 比如 2+3 3+2 就导致错误。看了其他人的填充方式,发现定下prime 然后定向的更新i就可以避免重复问题 还有就是。。 尼玛的素数筛法居然 居然。。写错了。。 反省 ...
分类:
其他好文 时间:
2016-12-12 22:30:39
阅读次数:
221