社区讨论
分块TLE20分
P1972[SDOI2009] HH 的项链参与者 5已保存回复 14
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 14 条
- 当前快照
- 1 份
- 快照标识符
- @mhjkvpvw
- 此快照首次捕获于
- 2025/11/04 04:13 4 个月前
- 此快照最后确认于
- 2025/11/04 06:32 4 个月前
CPP
#include<bits/stdc++.h>
using namespace std;
const int N=1e6+10,M=1e3+10;
bitset<N>ans,t[M];
int a[N];
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int n,m,q;
cin>>n;
m=sqrt(n);
for(int i=0;i<n;i++){
cin>>a[i];
t[i/m][a[i]]=true;
}
cin>>q;
while(q--){
int l,r;
cin>>l>>r;
--l;
--r;
ans.reset();
if(l/m==r/m){
for(int i=l;i<=r;i++){
ans[a[i]]=true;
}
}else{
for(int i=l;i<=l/m*m+m-1;i++){
ans[a[i]]=true;
}
for(int i=l/m+1;i<=r/m-1;i++){
ans|=t[i];
}
for(int i=r/m*m;i<=r;i++){
ans[a[i]]=true;
}
}
cout<<ans.count()<<'\n';
}
return 0;
}
本蒟蒻不会卡常,哪个大佬能教一下吗?
码风很丑,不喜勿喷。
码风很丑,不喜勿喷。
回复
共 14 条回复,欢迎继续交流。
正在加载回复...