본문 바로가기

공부일기장

오늘 혹독한 디버깅을 하면서 배운 점

lazy propagation 을 할 때 탑 다운으로 뭐 찾을려고 할 때

 

if(arr[node*2] <= ) 블라블라

else 블라블라

 

이런 류의 식을 쓸 때가 있다

 

이럴 때

 

propagate(node*2)

propagate(node*2+1)

if(arr[node*2] <= ) 블라블라

else 블라블라

 

이런 식으로 해야된다.

 

당연한 거라 생각할 수 있지만 난 이걸 못 찾아서 왜 안되지 고민하며 논리 문제라 생각하다 혹독한 디버깅 끝에 자식 전이가 안된다는 걸 깨닳았다....

 

그리고 이걸 응용하면 lazy propagation 에서 무궁무진한 재밌는 쿼리를 처리할 수 있다는 것도 배웠다.. ( 원래 레이지를 잘 못 쓰는데 오늘 좀 많이 배워서 뿌듯하긴 함.. ㅎㅎ)

'공부일기장' 카테고리의 다른 글

앳코더 옐로 복귀!  (0) 2021.04.18
요즘 PS 하면서 느꼈던 것들...... 후..  (0) 2021.03.14
LR FLow 를 공부해보았다.  (0) 2020.10.17
Scpc2020 1차 예선 때 일기  (0) 2020.08.23
19.12.17  (0) 2019.12.17