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; } ```
查看全文
相关阅读:
leetcode -- Maximum Depth of Binary Tree
leetcode -- Binary Tree Level Order Traversal
leetcode -- Binary Tree Inorder Traversal
leetcode -- Subsets II
Egret入门学习日记 --- 第十七篇(书中 7.4~8.2节 内容)
Egret入门学习日记 --- 问题汇总
Egret入门学习日记 --- 第六篇(书中 3.6~3.9节 内容)
Egret入门学习日记 --- 第十六篇(书中 6.10~7.3节 内容)
Egret入门学习日记 --- 第十五篇(书中 6.1~6.9节 内容)
Egret入门学习日记 --- 第十四篇(书中 5.4~5.6节 内容)
原文地址:https://www.cnblogs.com/orangee/p/8977964.html
最新文章
Leetcode 474.一和零
Leetcode 473.火柴拼正方形
Leetcode 472.连接词
Leetcode 467.环绕字符串中的唯一子字符串
虎虎的小尾巴:不确定的交易中,确定性的事是什么?2019-01-14
有没有朋友可以帮我解释一下贴水是什么意思?
期货市场的资金吸引力?
期货价格与即期价格?
关于期货套期保值的疑问?
作为交易员,从最初的新人到如今实现稳定盈利,一路走来你有过什么记忆非常深刻的亏损教训和体会?
热门文章
几位牛人
虎虎的小尾巴的交易逻辑
一般关于大宗商品的供需关系相关的数据网址有哪些?
通过何种书籍能明白金融体系运行逻辑?
leetcode -- Reverse Linked List II
IIS 发布网站遇到的问题
leetcode -- Recover Binary Search Tree
leetcode -- Validate Binary Search Tree
leetcode -- Remove Duplicates from Sorted List II
leetcode -- Minimum Depth of Binary Tree
Copyright © 2011-2022 走看看