线段树构建器 segment-tree-builder

线段树构建器是一个用于自动生成定制化线段树代码实现的工具。它支持多种线段树变体,包括基础线段树、惰性传播线段树、持久化线段树、二维线段树和线段树Beats。用户只需指定合并函数、单位元等参数,即可快速生成适用于C++、Python或Java语言的递归或迭代实现代码。该工具旨在简化算法竞赛、数据结构和范围查询优化场景下的开发工作。 关键词:线段树,数据结构,算法实现,范围查询,惰性传播,持久化线段树,二维线段树,线段树Beats,代码生成,算法竞赛,C++,Python,Java

后端开发 0 次安装 0 次浏览 更新于 2/23/2026

名称: 线段树构建器 描述: 生成定制的线段树实现 允许的工具:

  • 读取
  • 写入
  • 搜索
  • 通配符匹配
  • 编辑

线段树构建器技能

目的

为各种合并函数生成定制的线段树实现,支持惰性传播和高级变体。

功能

  • 为自定义合并函数生成线段树
  • 惰性传播模板生成
  • 持久化线段树变体
  • 二维线段树生成
  • 用于复杂更新的线段树beats
  • 迭代与递归实现

目标流程

  • 线段树实现
  • 范围查询优化
  • 数据结构实现

线段树变体

  1. 基础型: 点更新,范围查询
  2. 惰性传播: 范围更新,范围查询
  3. 持久化: 版本历史保留
  4. 二维线段树: 二维范围查询
  5. 线段树Beats: 复杂范围更新 (chmin, chmax)
  6. 归并排序树: 范围顺序统计

输入模式

{
  "type": "object",
  "properties": {
    "mergeFunction": { "type": "string" },
    "identity": { "type": "string" },
    "updateType": {
      "type": "string",
      "enum": ["point", "range", "both"]
    },
    "lazyPropagation": { "type": "boolean" },
    "variant": {
      "type": "string",
      "enum": ["basic", "lazy", "persistent", "2d", "beats"]
    },
    "language": {
      "type": "string",
      "enum": ["cpp", "python", "java"]
    },
    "style": {
      "type": "string",
      "enum": ["recursive", "iterative"]
    }
  },
  "required": ["mergeFunction", "identity"]
}

输出模式

{
  "type": "object",
  "properties": {
    "success": { "type": "boolean" },
    "code": { "type": "string" },
    "complexity": { "type": "object" },
    "usage": { "type": "string" }
  },
  "required": ["success", "code"]
}