알고리즘개념 소수 문제 역할 N 이 주어지면 N 이하의 모든 소수를 구할 때 사용 시간 복잡도 : O(N^2) 아이디어 2부터 순서대로 진행하며, 자신의 배수를 전부 지워버림 소수의 정의를 통해 구하는 1차원적인 방법 소수는 2의 배수가 아님 (n//2 이상의 수) * x = n 이 되기 위해서는 1<=x <= 2 이어야함. 계산할 필요가 없어짐 모든 약수는 루트n 기준으로 대칭이 됨 이 특징 때문에 루트n을 기준... 알고리즘개념알고리즘개념 Index Tree (구간 합 구하기) 따라서 M개의 값을 갱신하는데 O(Mlog N) (M == 값 갱신 횟수) (N == start_index * 2)의 시간이 보장된다고 볼 수 있다. 이제 Index Tree를 이용해서 어떻게 구간합을 구할 수 있을지 생각해보자. left index가 짝수라는 의미는 자기 자신이 부모 노드의 left child라는 의미와 동일하다. 따라서 자기 자신을 구간 합 결과에 더하지 않더라도 부모 노... Index Tree알고리즘개념Index Tree
소수 문제 역할 N 이 주어지면 N 이하의 모든 소수를 구할 때 사용 시간 복잡도 : O(N^2) 아이디어 2부터 순서대로 진행하며, 자신의 배수를 전부 지워버림 소수의 정의를 통해 구하는 1차원적인 방법 소수는 2의 배수가 아님 (n//2 이상의 수) * x = n 이 되기 위해서는 1<=x <= 2 이어야함. 계산할 필요가 없어짐 모든 약수는 루트n 기준으로 대칭이 됨 이 특징 때문에 루트n을 기준... 알고리즘개념알고리즘개념 Index Tree (구간 합 구하기) 따라서 M개의 값을 갱신하는데 O(Mlog N) (M == 값 갱신 횟수) (N == start_index * 2)의 시간이 보장된다고 볼 수 있다. 이제 Index Tree를 이용해서 어떻게 구간합을 구할 수 있을지 생각해보자. left index가 짝수라는 의미는 자기 자신이 부모 노드의 left child라는 의미와 동일하다. 따라서 자기 자신을 구간 합 결과에 더하지 않더라도 부모 노... Index Tree알고리즘개념Index Tree