declare class SegmentNode { left: SegmentNode; right: SegmentNode; value: boolean; add: boolean; } declare class SegmentTree { root: SegmentNode; constructor(); update(node: SegmentNode, minStart: number, maxEnd: number, start: number, end: number, value: boolean): void; /** * 由子节点计算父节点的信息 */ pushup(node: SegmentNode): void; /** * 懒标记 * 涉及区间修改时需要 * 当前父节点的修改信息下传到子节点 */ pushdown(node: SegmentNode): void; query(node: SegmentNode, minStart: number, maxEnd: number, start: number, end: number): boolean; } export default SegmentTree;