아래꺼가 int 배열 5만개를 불리언 배열 5만개 마냥 쓴거고
위에꺼가 int 배열 5만/32+1개를 비트마스크로 쓴건데
실행시간 절반행 캬
메모리만 차이나는데 아니구나... 비교연산자가 코스트가 두배나 큰건가양
좀 더 빨라져야 될것 같은데.. 이 경우 비트 연산은 32개의 불을 한방에 처리 하는효과를 가져오니까 더 빠를수 밖에 없는듯.
ㄴㄴㄴ 두배라고 보면 안댕. 문제 풀기 위한 전처리 작업이 시간 많이먹고 테스트 케이스도 알 수 없기 때문에.. 차이는 더 날듯?
마즘 bitmask^=~0 이런식으로 32개 비트 한꺼번에 토글 할 수 있음
ㅇㅇ 그렇구나.
2개~50000개 노드의 최적화 되지 않은 트리를 재귀로 전위 순회하는 전처리가 몇번 수행되기 때문에 그게 젤 시간 많이 먹었을거임 아마. 그 시간을 감안하고 보면 차이 엄청 크게 난것일듯
근데 이거 알고리즘 수행시간 겨루는 사이트임? 나도 알려줘
알고스팟
ㅇㅇ 고마워
디씨에서 알고스팟 링크 막음
메모리만 차이나는데 아니구나... 비교연산자가 코스트가 두배나 큰건가양
좀 더 빨라져야 될것 같은데.. 이 경우 비트 연산은 32개의 불을 한방에 처리 하는효과를 가져오니까 더 빠를수 밖에 없는듯.
ㄴㄴㄴ 두배라고 보면 안댕. 문제 풀기 위한 전처리 작업이 시간 많이먹고 테스트 케이스도 알 수 없기 때문에.. 차이는 더 날듯?
마즘 bitmask^=~0 이런식으로 32개 비트 한꺼번에 토글 할 수 있음
ㅇㅇ 그렇구나.
2개~50000개 노드의 최적화 되지 않은 트리를 재귀로 전위 순회하는 전처리가 몇번 수행되기 때문에 그게 젤 시간 많이 먹었을거임 아마. 그 시간을 감안하고 보면 차이 엄청 크게 난것일듯
근데 이거 알고리즘 수행시간 겨루는 사이트임? 나도 알려줘
알고스팟
ㅇㅇ 고마워
디씨에서 알고스팟 링크 막음