TLE求助
查看原帖
TLE求助
312766
LZY_2000楼主2021/1/21 18:14

用线筛加上前缀和做的,不知道为什么有几个点一直tle

#pragma GCC optimize("O2")
#include <bits/stdc++.h>

#define mp make_pair
#define phb push_back
#define ppb pop_back
#define eb emplace_back
#define pp pop
#define ph push
#define ff first
#define ss second
#define htl(v, n) v.begin()+1,v.begin()+1+(n), greater<decltype(v[1])>()
#define lth(v, n) v.begin()+1,v.begin()+1+(n), less<decltype(v[1])>()
#define Max(a, b) ((a > b) ? a : b)
#define Min(a, b) ((a < b) ? a : b)
#define FOR(i, a, b) for(int i = (a); i <= (b); i++)
#define rFOR(i, a, b) for(int i = (a); i >= (b); i--)
#define vFOR(it, a) for(auto it = a.begin();it != a.end();it++)
#define DEBUG(x) cout << #x << " = " << (x) << endl
#define checktime() cerr << "Time : " << 1000 * ((double)clock()) / (double)CLOCKS_PER_SEC << "ms\n"
#define endl '\n'
#define faster_cpp_io() std::ios::sync_with_stdio(false),std::cin.tie(0),std::cout.tie(0)
#define setp(n) fixed<<setprecision(n)
#define case(t) int t;cin >> t;while(t--)

using namespace std;
using pll = pair<long,long>;
using pii = pair<int,int>;
using ull = unsigned long long;
using ll = long long;
using ld = long double;
using vl = vector<ll>;
using vvl = vector<vector<ll>>;
using vi = vector<int>;
using vvi = vector<vector<int>>;
using mll = map<ll, ll>;
using umll = unordered_map<ll, ll>;

constexpr ll mod = 1e5+7;
constexpr ll inf = 0x7fffffffffffffff;
constexpr ld pi = acos(-1);
constexpr ld eps = 1e-9;
constexpr ll cap = 1e6+5;

vl prime(cap);ll ti;
bool isprime[cap];
ll cnt[cap];

void solve(){
	int n, m;
	scanf("%d%d",&n,&m);
	FOR(i, 2, m){
		if (!isprime[i])
		{
			prime[++ti]=i;
			cnt[i] = cnt[i-1] + 1;	
		}
		else
		{
			cnt[i] = cnt[i-1];
		}
		
		FOR(j, 1, ti){
			if (i*prime[j]<=m)
			{
				isprime[i*prime[j]] = 1;
			}
			if (i%prime[j]==0)
			{
				break;
			}
		}
	}
	ll l, r;
	FOR(i, 1, n){
		scanf("%lld%lld", &l, &r);
		if (l<1 || r>m)
		{
			cout << "Crossing the line" << endl;
		}
		else
		{
			cout << cnt[r] - cnt[l-1] << endl;
		}
	}
}

int main()
{
	// faster_cpp_io();

	// case(t)
	solve();
    
   // checktime();
   // system("pause");
    return 0;
}
2021/1/21 18:14
加载中...