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 |