문제 링크
- http://icpc.me/17435
사용 알고리즘
- sparse table
시간복잡도
- 쿼리당 O(log N)
풀이
LCA를 구하는 방법을 생각해보면, 어떤 정점의 2^i번째 부모들을 미리 구해놓고 lifting을 해줬습니다.
이 문제도 비슷하게 2^k꼴인 모든 i에 대해 fi(x)를 미리 구해놓으면 log복잡도에 답을 구할 수 있습니다.
이런 자료구조를 sparse table이라고 부릅니다.
전체 코드
1 |
|
LCA를 구하는 방법을 생각해보면, 어떤 정점의 2^i번째 부모들을 미리 구해놓고 lifting을 해줬습니다.
이 문제도 비슷하게 2^k꼴인 모든 i에 대해 fi(x)를 미리 구해놓으면 log복잡도에 답을 구할 수 있습니다.
이런 자료구조를 sparse table이라고 부릅니다.
1 |
|