原文链接:传送门思路:素数筛代码: 1 #include"iostream" 2 #include"algorithm" 3 #include"cstring" 4 using namespace std; 5 long long a[2000006],n; 6 int main(){ 7 cin> ...
分类:
其他好文 时间:
2020-01-21 21:44:48
阅读次数:
89
埃氏筛法:从1到n遍历一遍,每找到一个素数就记录下来并把它的倍数全部筛掉。 时间复杂度:O(nlog(log (n)) ) code: #include <iostream> #include <string> #include <cstdio> #include <algorithm> #incl ...
分类:
其他好文 时间:
2020-01-17 10:04:06
阅读次数:
79
埃氏筛法: 对于每一个小于n的非负整数p,删去2p,3p,4p......,当处理完所有数后,还没有删除的就是素数. 想法:用a记录素数表,a[i]=1表示不是素数,a[i]=0表示是素数. 注意:1不是素数,需要特判! ...
分类:
其他好文 时间:
2019-10-20 16:28:13
阅读次数:
88
10.17 进制转换 排序(归并排序,快速排序) 高精度 gcd ,快速幂 等常用函数,整理模板 素数筛 STL 字符串专题 前缀和与差分 10.18 链表 栈 队列 相关操作 10.19 ...
分类:
其他好文 时间:
2019-10-17 01:16:03
阅读次数:
74
素数筛法 如果我们想要知道小于等于 $n$ 有多少个素数呢? 一个自然的想法是我们对于小于等于 $n$ 的每个数进行一次判定。这种暴力的做法显然不能达到最优复杂度,考虑如何优化。 考虑这样一件事情:如果 是合数,那么 的倍数也一定是合数。利用这个结论,我们可以避免很多次不必要的检测。 如果我们从小到 ...
分类:
其他好文 时间:
2019-10-15 19:30:33
阅读次数:
136
gate 我太菜了,看了标签是背包还不知道是怎么回事qaq 看了下题解,意识到这是个类似素数筛的东西。 感性理解可以发现,原货币系统中能被表示出来的是可以不选的,剩下的就是要选的。所以最小的一定要选,把原货币系统从小到大排序。 枚举原货币系统中的货币a[i],枚举金额j(a[i]+1<j<a[n]) ...
分类:
其他好文 时间:
2019-10-08 18:45:50
阅读次数:
84
196. 质数距离 素数筛,由于L,R范围过大 没法一次全筛出来,先线性筛筛出1-1e5范围内的素数 然后埃氏筛筛出L,R范围内的质数 能用数组 不要用unordered_map ...
分类:
其他好文 时间:
2019-10-03 23:54:32
阅读次数:
156
Two soldiers are playing a game. At the beginning first of them chooses a positive integer n and gives it to the second soldier. Then the second one t ...
分类:
其他好文 时间:
2019-09-25 22:27:48
阅读次数:
105
(好 快 ) 素数是什么就不用介绍了吧。。。先介绍判断素数的方法 判断素数 先看朴素算法: (真的好朴素。。) 用时O(n) (肯定不行啊,吃枣药丸的。。) 怎么优化呢? 不难发现,如果a是n的约数,那么n/a也是n的约数 所以就有以下代码: 这个用时O(n^0.5) 一般使用的话这样其实差不多了。 ...
分类:
其他好文 时间:
2019-09-25 15:45:30
阅读次数:
84
https://vjudge.net/contest/324284#problem/B 数学水题,其实就是想写下位图。。和状压很像 题意:给n让求lcm(1,2,3,...,n),n<=1e8 思路:显然ans = 所有小于n的素数p[i]的max(p[i]^k)相乘。由于空间太大,装素数的数组开不 ...
分类:
其他好文 时间:
2019-09-07 12:50:10
阅读次数:
114