목차

소수의 개수 구하기

알고리즘

Lucy_Hedgehog algorithm

구현

기본 구현

최적화

https://github.com/favre49/ThayirSadamLibrary/blob/f290541430d8cac335446d3741eb377477cc9765/number-theory/PrimeCount.hpp

구현체들..

3 - 둘다 기본적으로는 동일한 방식. 구현 디테일만 다르다. c++의 최적 코드를 파이썬으로 번역한 느낌

prime_count_v0_0: TLE - 알고리즘 그대로 옮김. 토글링도 안함

count_prime_v0: 2.160 / 12.182s 토글링 적용. dict로 dp 테이블을 저장

count_prime_v1: 1.520 / 7.921s 리스트로 dp 테이블 저장. 에라체 전처리 제거.

count_prime_lucy: 1.263s / 6.664s V1을 기술적으로 최적화.

count_prime_o1(n) 0.626s / 3.675s v1에서 불필요한 b배열 계산 제거. b배열은 dict로 구현

count_prime_o2 ??? / 2.941s o1에서 2-wheel 적용

count_prime_o3 ??? / 2.489s o2에서 small 배열 계산 최적화

count_prime_o4 ??? / 1.828s o3에서 del 범위 줄임