zoukankan
html css js c++ java
Codeforces 385C Bear and Prime Numbers(素数预处理)
[Codeforces 385C Bear and Prime Numbers](http://codeforces.com/problemset/problem/385/C) 其实不是多值得记录的一道题,通过快速打素数表,再做前缀和的预处理,使查询的复杂度变为O(1)。 但是,
我在统计数组中元素出现个数时使用了map,以至于后面做前缀和的累加时,每次都要对map进行查询,以至于TLE。
而自己一直没有发现,以为是欧拉筛对于这道题还不够优,于是上网搜题解,发现别人的做法几乎一样,但是却能跑过,挣扎了许久才想起是map的原因。
map的内部实现是一颗红黑树,每次查询的复杂度为O(logN)
,在本来时间就不富裕的情况下,导致了超时。改用数组来统计后,顺利AC。做题时,在空间允许的情况下,如果每次可以确定访问的key,还是尽量用数组来做整数间的映射吧(如果每次要遍历一遍以查询,则选择map)。因为这道题纠结了许久,于是做个记录。 附上AC代码: ```C++ #include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std; typedef long long ll; typedef pair
P; typedef map
M; typedef vector
V; typedef queue
Q; const int maxn=10000000+5; int cnt[maxn]; bool is[maxn]; int prime[maxn/2]; ll sum[maxn]; void init(int mx) { int i,j,count=0; for (i=2;i<=mx;++i) { if (!is[i]) { prime[count++]=i; } for (j=0;j
>n; for (i=0;i
>m; while (m--) { int l,r; scanf("%d%d",&l,&r); l=min(maxn,l); r=min(maxn,r); printf("%d ",sum[r]-sum[l-1]); } return 0; } ```
查看全文
相关阅读:
阿里云ECS 网站访问变卡
MySql导入导出sql脚本(转)
Mysql数据库备份的问题:mysqldump: Got error: 1049: Unknown database 'blog;' when selecting the database(转)
Mysql in 优化(转)
根据查询更新JTable显示(转)
MyEclipse部署项目到Tomcat上,但是classes文件夹下没有编译项目(转)
POI Workbook workbook = WorkbookFactory.create(fis); 报NoSuchMethodError
07-常用内置对象
06-流程控制
05-数据类型转换
原文地址:https://www.cnblogs.com/orangee/p/8977964.html
最新文章
js 闭包
js 函数调用
js 函数参数
js 自调用函数+函数作为一个值
jenkins+selenium+python实现web自动化测试
python+pytesser报windoserror处理方案
jmeter--Aggregate Graph监听器
poj 2155 matrix 二维线段树 线段树套线段树
codeforces 893F
codeforces 915E
热门文章
codeforces 1082G
codeforces 787D
Codeforces 877E
Codeforces 914D
codeforces 38G
Codeforces 675D Tree Construction Splay伸展树
Codeforces 1091E New Year and the Acquaintance Estimation Erdős–Gallai定理
win10配置JDK环境变量
如何从代码中提取出SQL用于调试?
免费空间Gearhost,无需备案
Copyright © 2011-2022 走看看