블록 기반 구조와 블록 리스트의 활용
블록 분할 기법
길이가 n인 배열을 약 √n개의 블록으로 나누면, 각 블록의 크기는 최대 √n이 되며, 임의의 구간 연산은 최대 √n개의 완전한 블록과 두 개의 부분 블록으로 표현 가능하다.
시간 복잡도는 기존의 O(n²)에서 O(n√n)으로 개선된다.
기본 구현 틀
#include <iostream>
#include <cmath>
#include <cstdio>
using namespace std;
typedef ...
6월 21일 03:59에 게시됨