警示后人
查看原帖
警示后人
1257738
oMin0楼主2024/6/13 19:42
struct node1
{
	int xx,yy,lcaa;
	bool operator<(const node1 &x)const
	{
		return dep[lcaa]>dep[x.lcaa];
	}
};
multiset <node1> ss;

...
if(op==2) cin>>u>>v,ss.erase(ss.find({u,v,lca(u,v)}));

以上代码是错误的,因为重载运算符时没有正确判相等,此时 *ss.find({u,v,lca(u,v)}) 不一定为 {u,v,lca(u,v)}。。。。楼主真是唐完了。

2024/6/13 19:42
加载中...