Wrong answer on test 3
查看原帖
Wrong answer on test 3
751791
HGENDAS楼主2023/7/24 22:39
#include<bits/stdc++.h>
#define int long long
#pragma GCC optimize(2)
int T;
using namespace std;
int n,k[200005];
int a[200005][26];
string s;
const int p=(1<<26)-1;
map<int,int>m;
main(){
	ios::sync_with_stdio(0);
	cin.tie(0),cout.tie(0);
	cin>>n;
	for(int i=1;i<=n;++i){
		cin>>s;
		int l=s.size();
		for(int j=l-1;j>=0;--j){
			a[i][s[j]-'a']^=1;
		}
		for(int j=0;j<26;++j){
			if(a[i][j]==1){
				k[i]+=(1<<j);
			}
		}
		++m[k[i]];
	}
	int ans=0;
	for(int i=1;i<=n;++i){
		--m[k[i]];
		int q=p^k[i];
		for(int j=0;j<26;++j){
			if(q^(1<<j)<q){
				ans+=m[q^(1<<j)];
			}
		}
	}
	cout<<ans;
	return 0;
}
2023/7/24 22:39
加载中...