7月20日闲话

学习了一些底层。

起因是这道题,使用了 set 中的一些性质。

set::find

参数:该函数接受一个强制性参数element ,该元素指定要在集合容器中搜索的元素。

返回值:该函数返回一个迭代器,该迭代器指向在集合容器中搜索的元素。如果找不到该元素,则迭代器将指向集合中最后一个元素之后的位置

我之前没想过这玩意能求区间的包含关系。

但这道题里面,只需要重定义一下 < ,find 一下就能找到包含的区间。

struct node{
	int l,r;
	bool operator <(const node &x)const{
		return r<x.l;
	}
};

原因是这样的:

set 中判断元素是否相等:
当 A<B和 B<A 都为时,它们相等

那么这样定义之后 find 出来的都是与他有交集的区间,又因为包含关系的只可能有一个,判断一下就好了。

妙啊!!!

冲了一天屎山 ds,心态崩了。

posted @ 2024-12-17 22:46  lxg_swrz  阅读(13)  评论(0)    收藏  举报