蒟蒻新学字符串hash,re#2#3#8#9#10五个点,求调
查看原帖
蒟蒻新学字符串hash,re#2#3#8#9#10五个点,求调
801649
SN_Tashkent楼主2023/5/17 19:25
#include<iostream>
#include<string>
#include<vector>
#include<algorithm>
using namespace std;
typedef unsigned long long ull;
vector<ull> h;
const int X=131;
ull a[100000005];
ull BDNK_hash(string s)
{
	h[0]=s[0];
	for(int i=1;i<=s.size();i++)
	{
		h[i]=h[i-1]*X+s[i];
	}
	return h[s.size()];
}
int main()
{
	int n;
	cin>>n;
	for(int i=0;i<n;i++)
	{
		string b;
		cin>>b;
		h.resize(b.size());
		a[i]=BDNK_hash(b);
	}
	sort(a,a+n);
	int ans=unique(a,a+n)-a;
	cout<<ans;
 } 
2023/5/17 19:25
加载中...