AC 了,但不理解:
build(root[1] , 1 , n); for (int i = 2 ; i <= n ; i++) upd(root[i] , 1 , n , root[i-1] , a[i - 1].ip);
当主席树建树时有 a[i].v == a[i - 1].v 的情况时,我们仍然在 i - 1 的版本上把1修改为 -1,而我们是将>=的改为-1,并且重合时所有重合的节点的版本不一样 这么建不会出锅吗
a[i].v == a[i - 1].v
i - 1
1
-1
>=