用于C++中的段树的STL

STL for segment tree in C++

本文关键字:段树 STL C++ 用于      更新时间:2023-10-16

段树是否有STL?

在竞争性编程中,为seg树编码需要花费大量时间。我想知道是否有STL,这样可以节省很多时间。

我假设"分段树"实际上是指范围树,它在编程竞赛中比存储一组间隔的更专业的结构更常用。

C++标准库中没有这样的容器,但如果您正在参加ACM竞赛,您可以考虑编写自己的容器,并根据需要简单地复制它。你可以在这里找到我自己的实现(包括延迟传播),但如果你在网上搜索,你可能会找到一个更通用的版本。

在需要求和而不是最小值或最大值的应用程序中,可以使用二进制索引树而不是分段树,这样更快、使用更少的内存,也更容易编码(大约十几行或更少)。

C++中没有用于段树的STL。但是,您可以查看名为Interval Container Library(ICL)的Boost Library,它应该满足您的需求。