luogu#P11615. 【模板】哈希表
【模板】哈希表
题目背景
本题读入量较大,建议使用快速读入。
char buf[1<<23],*p1=buf,*p2=buf;
#define gc() (p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<21,stdin),p1==p2)?EOF:*p1++)
inline unsigned long long rd() {//读入一个 64 位无符号整数
unsigned long long x=0;
char ch=gc();
while(!isdigit(ch))ch=gc();
while(isdigit(ch)) x=x*10+(ch^48),ch=gc();
return x;
}
题目描述
你需要维护一个映射 ,初始 。
有 次操作,每次操作给出二元组 ,表示查询 的值,之后 。
输入格式
第一行,一个正整数 。
接下来 行,每行两个整数 描述一次操作。
输出格式
为了减少输出量,设第 次操作的答案为 ,你只需要输出 对 取模的结果。
5
0 4
0 998244353
1000000000000000000 20120712
1000000000000000000 1000000000000000000
1000000000000000000 998244353
5000000000080482856
提示
样例的 分别为:。
对于 的数据,。
子任务 | |
---|---|
子任务 的数据生成方式较为随机,子任务 是针对 unordered_map
,gp_hash_table
,cc_hash_table
和一些错误的哈希方式等的 hack。
如果你认为你的代码复杂度正确却没有通过,记得使用快速读入。