众所周知 Treap 依靠随机权值使得 BST 平衡。于是我在赋权值的时候是这么写的:t[p].dat = (rand() % 114514) * (rand() % 114514) % 1919810;
t[p].dat = (rand() % 114514) * (rand() % 114514) % 1919810;
但是改成 t[p].dat = rand(); 之后就 AC 了,并且经过测试,t[p].dat = rand() % 1919810; 也能 AC,求问为什么。
t[p].dat = rand();
t[p].dat = rand() % 1919810;
应该不是数据原因,因为 Acwing 和 lg 双重测试过。