어려움
Segment Tree with Lazy Propagation
코드 라인과 단계 ID를 동기화하고, 변수/포인터/배열·행렬·그래프 엔티티의 상태 스냅샷을 단계마다 갱신한다.
1 / 10구간 합을 매번 다시 더하면 O(n)씩 듭니다. 접두사 합을 한 번 만들어 두면 어떤 구간이든 뺄셈 한 번입니다.
원본
31415926
접두사 합 — "처음부터 여기까지"
단계 목록 · 키보드 ←/→ 이동, Space 재생
구현 계약펼쳐서 명세 보기 · 참고 자료
- 분류
- BIT / Segment Tree · dsa-workbench
- 구현 핵심
- 코드 라인과 단계 ID를 동기화하고, 변수/포인터/배열·행렬·그래프 엔티티의 상태 스냅샷을 단계마다 갱신한다.
- 의도
- Segment Tree with Lazy Propagation의 입력·판단·결과 변화를 BIT / Segment Tree 관점에서 단계별로 시각화한다.
- 입력 프리셋
- lazy[
- 입력 검증
- range 0..100, integer
- 언어/코드
- python, java, cpp, csharp, go, javascript, typescript; 코드 템플릿 있음; 단계↔라인 키 -, build_leaf, build_split, build_merge, build_done, update_start, update_out_of_range, update_lazy, update_partial, push_down, update_merge, update_done, query_start, query_out_of_range, query_covered, query_partial, query_merge, complete
- 단계 모델
- 초기 프리셋 41단계; 기록 ID push_down, -, build_leaf, build_split, build_merge, build_done, update_start, update_out_of_range, update_lazy, update_partial, update_merge, update_done, query_start, query_out_of_range, query_covered, query_partial, query_merge, complete
- 시각 상태
- 엔티티 binaryTreeNode, metadata, range, arrayElement; 상태/단계 값 active
- 화면 옵션
- 입력 패널 있음, 시각화 있음, 변수표 숨김, 전체화면 지원