트리에 임의로 번호를 할당해보세요.
번호를 할당하는 방법을 (부모노드 < 자식노드) 를 항상 유지하도록
트리 순회를 이용해서 번호를 할당해보세요.
그러면 트리를 펼치는 효과를 얻을 수 있을거에요.
보통 세그먼트 트리 문제에서 a 부터 b까지 값 x를 더하는 쿼리를 주어주는 형태인데
이게 트리로 주어져서 다른 방법으로 풀 수도 있는데
문제 특성을 이용하고, 트리에 임의로 번호를 주면 일반적인 세그먼트 + lazy propagation문제로
다시 재정의할 수 있을 거에요~
jangzzang 4년 전
최근 세그먼트트리랑 lazy propagation을 연습하고 있는 중입니다!
이 문제 해설을 찾아보니까 문제에서 주어지는 트리를 일렬로 펴서 세그먼트트리로 만든다고 적혀있더라구요 ㅠㅠ
코드를 찾아봐도 잘 이해가 안되서 혹시 간략하게나마 설명해 주실 분 있으신가요?
문제 설명은 대략 이렇습니다
트리가 있는데 트리에서 특정 노드에 대해서 임의의 값을 더하거나 뺀 연산을 했을 때 특정 노드를 부모로 하는 모든
부트리에 대해서 더하고 뺀 연산이 적용되어야 합니다.
도와주세요ㅠㅠㅠㅠ