为什么用埃式筛就能过:
...
const int maxn = 1e8 + 10;
int n, q, k;
bitset<maxn> isnp;
vector<int> primes;
void getPrimes(int n) { //普通埃式筛法(这就能过了)
for (int i = 2; i <= n; ++i) {
if (!isnp[i]) {
primes.push_back(i);
for (int j = i + i; j <= n; j += i) isnp[j] = true;
}
}
}
...