TDOG模拟 #1 质数统计
题目描述
质数是只含\(1\)和自己作为正因数的数,在数学中质数有许多美妙的性质可以被利用,同时质数本身也有很多问题值得人们去研究。
Kiana非常喜欢数学,尤其是喜欢质数,并经常做一些和质数相关的小游戏。某一天,她写下了\(n\)个数,并定义函数\(Cnt(p)\)表示这\(n\)个数中能被质数\(p\)整除的数的个数。对于一个不是质数的数\(a\),Kiana定义\(Cnt(a)\)的值为\(0\)。
现在Kiana想知道这个函数某一段区间上的取值之和,即对于一组给定的\(L,R\),她希望知道\(\sum_{i=L}^RCnt(i)\)等于多少。不仅如此,Kiana还希望给出多组\(L,R\),并对每一组都得到一个这样的答案。由于Kiana自己不会算,所以希望你能够帮助她。
输入输出格式
输入格式
第一行包含两个正整数\(n\)和\(m\),分别表示Kiana写下的数的数量,以及提出的询问组数。
第二行包含\(n\)个正整数,表示Kiana写下的\(n\)个数的值。
接下来\(m\)行,每行包含两个正整数\(L\)和\(R\),表示Kiana提出询问的区间。
输出格式
输出共\(m\)行,每行包含一个正整数,表示每组询问的答案,由于答案可能很大,只需要输出其对\(10^9+7\)取模后的结果即可。
输入输出样例
输入样例#1:
5 3
4 6 7 9 11
2 3
1 4
1 5
输出样例#1:
4
4
4
输入样例#2:
输出样例#2:
样例解释
Kiana一共写下了\(5\)个数:\(4,6,7,9,11\),并进行了\(3\)次询问:
\([2,3]\)中共有两个质数\(2\)和\(3\),其中\(2\)能够整除\(4\)和\(6\),故\(Cnt(2)=2\),而\(3\)能够整除\(6\)和\(9\),故\(Cnt(3)=2\),所以\(\sum_{i=2}^3Cnt(i)=4\)
\([1,4]\)中也只有两个质数\(2\)和\(3\),故这一问答案和上一问相同,即\(\sum_{i=1}^4Cnt(i)=4\)
\([1,5]\)中共有三个质数\(2,3\)和\(5\),但是\(5\)不能整除任何一个Kiana写下的数,故\(Cnt(5)=0\),所以这一问答案和前两问相同,即\(\sum_{i=1}^5Cnt(i)=4\)
数据范围
对于\(10\%\)的数据,保证\(1\leq n\leq 10,1\leq m\leq 10\)。
另有\(20\%\)的数据,保证\(1\leq n\leq 10,1\leq m\leq 10^6\)。
另有\(10\%\)的数据,保证\(1\leq n\leq 1000,1\leq m\leq 10\)。
另有\(20\%\)的数据,保证\(1\leq n\leq 1000,1\leq m\leq 10^6\)。
另有\(15\%\)的数据,保证\(1\leq n\leq 10^6,1\leq m\leq 10\)。
另有\(25\%\)的数据,保证\(1\leq n\leq 10^6,1\leq m\leq 10^6\)。
对于\(100\%\)的数据,保证Kiana写下的数不大于\(10^7\),且\(1\leq L\leq R\leq 10^7\)。
此外共有\(35\%\)的数据,保证\(R-L\leq 50\)。
信息
- ID
- 1014
- 难度
- 8
- 分类
- (无)
- 标签
- 递交数
- 41
- 已通过
- 6
- 通过率
- 15%
- 上传者