My algorithmic road
序言
初窥门径
1 第一题 素数的烦恼
离开了家乡,你到达了数字之地,在这里数字2总感觉自己是自然数中最独特的一个,他只有一和它本身两个因数,为此它十分苦恼。为了不再寂寞,他建立了素数王国,他请求许多人帮他聚集所有n以内的子民,可效率太低了。这样下去直到老死也无法完成,现在就靠你来帮他实现愿望了。
你使用了最简素数线性筛法
这种魔法前提是如果一个数是素数,那么它的倍数一定不是素数。也就是极大缩小了枚举的量。你又注意到,32和23其实是一回事,所以只乘一次即可。
所以只用正在判断的数作为不动乘数,遍历之前找到的素数与之相乘,可以大大避免重复乘法。
开辟一个大数组用做素数的标记,1代表素数,0代表非素数。
#define max 100000
bool isp[max];
开辟大数组用于存放素数
long long a[max],t=0;
除零和一外先把所有数全假设为素数
memset(isp,1,sizeof(isp));
isp[0]=isp[1]=0;
下面就从2开始找n以内所有素数
首先输入n
然后遍历2~n并用t来标记找到了第几个素数
如果我们用作素数标志的bool值为1则为素数
除去素数的倍数即将他们的bool值设为0
for(long long ii=2;ii<=n;ii++){
if(isp[ii]!=0){
a[t++]=ii;
}
for(long long jj=0;jj<t&&a[jj]*ii<n;jj++){
isp[a[jj]*ii]=0;
}
}
此时,a[t-1]中已经存满了n以内的所有素数,你也完美的完成了素数国王的任务。
告别了素数国王,你朝着迷失之地进发,只为变得更加强大。却不知还有多少危险在等待着你。
My algorithmic road的更多相关文章
- JavaScript Application Architecture On The Road To 2015
JavaScript Application Architecture On The Road To 2015 I once told someone I was an architect. It’s ...
- 【Codeforces 738C】Road to Cinema
http://codeforces.com/contest/738/problem/C Vasya is currently at a car rental service, and he wants ...
- POJ 3204 Ikki's Story I - Road Reconstruction
Ikki's Story I - Road Reconstruction Time Limit: 2000MS Memory Limit: 131072K Total Submissions: 7 ...
- Codeforces #380 div2 C(729C) Road to Cinema
C. Road to Cinema time limit per test 1 second memory limit per test 256 megabytes input standard in ...
- dp or 贪心 --- hdu : Road Trip
Road Trip Time Limit: 1000ms, Special Time Limit:2500ms, Memory Limit:65536KB Total submit users: 29 ...
- HDU 1598 find the most comfortable road(最小生成树之Kruskal)
题目链接: 传送门 find the most comfortable road Time Limit: 1000MS Memory Limit: 32768 K Description XX ...
- 三分 --- CSU 1548: Design road
Design road Problem's Link: http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1548 Mean: 目的:从(0,0)到 ...
- hdu 5861 Road 两棵线段树
传送门:hdu 5861 Road 题意: 水平线上n个村子间有 n-1 条路. 每条路开放一天的价格为 Wi 有 m 天的操作,每天需要用到村子 Ai~Bi 间的道路 每条路只能开放或关闭一次. ( ...
- HDU4081 Qin Shi Huang's National Road System(次小生成树)
枚举作为magic road的边,然后求出A/B. A/B得在大概O(1)的时间复杂度求出,关键是B,B是包含magic road的最小生成树. 这么求得: 先在原图求MST,边总和记为s,顺便求出M ...
随机推荐
- for循环的耗时问题
结论——用变量来缓存数组长度,效率会更高
- 阿里P7详细解答JVM性能调优之监控工具
javap 和 javac javac -verbose 类名.java java -verbose 类名 javap -c 类名 javap -verbose 类名 JAVAP -HELP 用法: ...
- 动态URL是什么?动态URL有什么特点?
动态URL是什么动态URL就是动态页面,动态链接,即指在URL中出现“?”这样的参数符号,并以aspx.asp.jsp.php.perl.cgi为后缀的url. 动态URL有什么特点1.在建设反向链接 ...
- 软硬RAID 和 不常见的RAID
若转载请于明显处标明出处:http://www.cnblogs.com/kelamoyujuzhen/p/5561809.html 为啥子引入RAID? 存储最现实的两个问题:速度.容量 001——计 ...
- 剑指Offer(二十九):最小的K个数
剑指Offer(二十九):最小的K个数 搜索微信公众号:'AI-ming3526'或者'计算机视觉这件小事' 获取更多算法.机器学习干货 csdn:https://blog.csdn.net/baid ...
- machine learning(8) -- classification
分类预测不能使用linear regression, linear regression算法对于分类预测效果很差,应使用logistic regression算法 Logistic regressti ...
- unable to import maven project see logs for details
2019-10-21 19:31:06,987 [40598655] WARN - ution.rmi.RemoteProcessSupport - SLF4J: Actual binding i ...
- go语言开发IDE
软件下载及绿化方法 GoLand-2018.3 链接:https://pan.baidu.com/s/15AKPDIJIN86vxfriHBjE-g 提取码:060h 选择路径的时候,去掉路径名的版本 ...
- go语言-关于文件的操作和解释
一.文件存放的位置 bin文件:存放编译后的二进制文件 pkg文件:存放编译后的库文件 src文件:存放源代码文件 二.运行文件的常用命令 两种运行区别(直接运行和编译后运行) 1.编译生成可执行文件 ...
- selenium之python源码解读-expected_conditions
一.expected_conditions 之前在 selenium之python源码解读-WebDriverWait 中说到,until方法中method参数,需要传入一个function对象,如果 ...