struct Hash_map
{
int siz,fi[2872897],nx[1000000];
int sta[1000000];double val[1000000];
inline double &operator [] (int x)
{
int k=x%2872897,i=fi[k];
for(;i&&sta[i]!=x;i=nx[i]);
if(!i)i=++siz,nx[i]=fi[k],fi[k]=i,val[i]=0,sta[i]=x;
return val[i];
}
}f[31];
unoredred_map稍慢。