RT,我的代码中
if(s=="add")
{
v[node[i-1]].emplace_back(node[i]=++tot);
fa[tot]=node[i-1];
cin>>w[tot]>>val[tot];
}
if(s=="erase")
node[i]=fa[node[i-1]];
这样会错前三个点。
改成
if(s=="add")
{
v[node[i-1]].emplace_back(node[i]=++tot);
fa[tot]=node[i-1];
cin>>w[tot]>>val[tot];
}
else
node[i]=fa[node[i-1]];
就过了。
另外在这份提交中进行了 assert 出现了 RE,说明出现了既不是 add 也不是 erase 的字符串。
希望管理员能检查数据中 erase 的拼写是否正常,或者是否有不可见字符,如果有,希望可以修改数据。