YunYan

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2020年3月30日

摘要: 题解:素数区间问题。注意到a和b的范围是1<<31,所以直接暴力打表肯定不可以。如果一个数是合数,他的两个因子要么是两个sqrt(x),要么就分布在sqrt(x)两端,所以我们可以根据sqrt(n)之前的数来把sqrt(n)之后的素数给筛出来。 首先进行1e6的素数打表。然后对每个l,r,首先找到第 阅读全文
posted @ 2020-03-30 21:50 Target--fly 阅读(143) 评论(0) 推荐(0) 编辑

摘要: 算是一个找规律的题目吧。 枚举前sqrt(n)个数,数i出现的次数为n/i-n/(i+1),对答案的贡献为(n/i-n/(i+1))*i。 对于sqrt后边的数,可以直接由n/i获得,并且一定只出现一次。 (数学果然博大精深~~~~) code: #include<bits/stdc++.h> us 阅读全文
posted @ 2020-03-30 17:46 Target--fly 阅读(140) 评论(0) 推荐(0) 编辑

摘要: 题目给的时间限制是3s,所以可以直接暴力来做,注意n的取值范围是1e8,如果开一个1e8的数组会RE。分段打表,可以每100个数记录一次,然后对每次询问先找到它所在的区间,然后在暴力往后找。(学到了~~) #include<bits/stdc++.h> using namespace std; co 阅读全文
posted @ 2020-03-30 11:53 Target--fly 阅读(150) 评论(0) 推荐(0) 编辑