세그먼트트리 검색해보면 그냥 대~~충 리프노드 * 4 하면 적당하다느니 그런말만 해서 개빡치는데 정확히 필요한 노드 개수 공식이 어떠케됨? 수학 노베이스라서 혼자 못알아내겟음 - dc official App
2^ceil(log2 N)
바텀업 구현은 그냥 2N이라고 하던
리프 4개일때 총 노드 7개 아님?
맞네 잠시만
나도개화남
2^(ceil(log2(N))+1) - 1 + n - 2^floor(log2(N))? 딱맞춰보려니 화나네
으앙
보통 0번노드 비우기때문에 총 8개맞음
천재다
1 << ceil(log(2)+1) 좀 남긴하는데
나는 t_size = 1; while (t_size < N) { t_size <<= 1; } 만큼 할당해
2*t_size+1만큼 ㅋㅋ
가장 가까운 2의 거듭제곱수 *2 인데 걍 *4하면 무조건 그것보다 큼
가장 차이가 많이 날때가 2^n +1이 가장 거듭제곱수에서 먼건데 ×2 하면 2^(n+1)+2로 그것보다 큰 거듭제곱수인 2^(n+1)보다 무조건 크니까 거기에 ×2를 또 하면 되는거지
정확한 수를 알고싶은 탐구심임
가장 가까운 2의 거듭제곱수 *2 맞음
ㅋㅋㅋㅋㅋ
파워 4n