没用前缀和过了...建议加强数据
查看原帖
没用前缀和过了...建议加强数据
1528965
Sunshine_Wu楼主2025/8/29 14:08

首先本题正解应该要涉及到前缀和 这毋庸置疑

但是本蒟蒻没有用到该算法就水过了 (所以说建议加强啊)

以下是我的做法 (注:这绝非正解!!!)

bool st[N];
//中间部分省略
for(int i=1;i<=m;i++)
{
    if(zhi(i)) st[i]=1; //zhi()是判断素数函数
}

简单来说就是把 1~m 范围内所有数都打一遍暴力判断素数

然后用 st[] 数组存储

之后的过程中在 l~r 区间内的数直接在 st[] 里找

for(int i=l;i<=r;i++)
{
    if(st[i]) cnt++; //计数器
}

加强数据扩大m的范围就可以了

2025/8/29 14:08
加载中...