样例过了,20分求助
查看原帖
样例过了,20分求助
1399367
syex_WXy楼主2025/8/29 19:55

死因:RE
详见: https://www.luogu.com.cn/record/233755109

#include<bits/stdc++.h>
using namespace std;
long long n,a[100006];
long long f[3000005];
long long ans;
long long fenjie(long long x){
	int res=0;
	for(long long i=2;i*i<=x;++i){
		while(x%i==0){
			res^=1<<i;
			x/=i;
		}
	}
	if(x!=1)res^=1<<x;
	return res;
}
int main(){
	cin>>n; 
	f[0]=1;
	for(int i=1;i<=n;++i){
		cin>>a[i];
		a[i]=fenjie(a[i]);
		a[i]^=a[i-1];
		ans+=f[a[i]]++;  
	}
	cout<<ans;
	return 0;
}


2025/8/29 19:55
加载中...