제목이 꽤 도발적인 거 같네요. ps를 하시다 보면 종종 듣는 이야기 중 하나는, 상수 최적화, 혹은 O(n/32)나 O(n/64)입니다. 그것이 공간이 될 수도 있고, 시간이 될 수도 있는데요. 32와 64. 무언가와 연관이 있는 듯 싶습니다. 환경에 따라 다르겠지만, 보통 우리가 흔히 알고 있는 int형, long long형의 bit 수이기도 합니다. 공간을 n/32나, n/64로 compress 하는 문제를 생각해 봅시다. 사실, trie나 set, map을 쓰셔도 됩니다. 그런데 STL을 직접 구현해야 하는 경우, 2번째 것과 3번째 것은 구현하는 데, 상당히 어렵습니다. 1번은 시도해 볼 만 합니다. 그런데 메모리 제한이 128M로 꽤 넉넉하다면 어떨까요? 이 때는 이야기가 달라질 수도 있습니다..
bitset 검색 결과
해당 글 2건
비트 배열 : 공간을 1/8, 1/32, 1/64로 압축한다.
자료알고/자료구조
2019. 12. 24. 05:39
c++ bitset (비트셋) 예제 : 쉽게 이해해 봅시다.
이번에는 c++에 있는 bitset 이라는 친구에 대해서 잠깐 알아볼 거에요. 보통, 비트 연산자를 이용해서 상태를 관리할 때, & 연산자를 쓰고 를 쓰고, | 같은 것을 조합해 가면서 쓰셨을 거에요. 익숙해 지면 그렇게 어렵지는 않습니다만, 그래도 조금 더 쉽게, 집합에 x가 포함되는지, 그렇지 않은지, x를 제거하고, x를 추가하는 연산을 조금 더 간편하게 할 수 있는 방법이 없을까요? 이러한 것들은, bitset을 이용해서 너무 쉽게 할 수 있습니다. 그 전에, 이것이 어떠한 구조를 가지고 있는지 간략하게 살펴 봅시다. 많이 물어보시는 가 내부적으로 어떻게 동작하는지부터 간단하게 소개해 보겠습니다. 먼저 비트셋은 word 단위로 이루어진 배열입니다. 그 안에 상태들이 저장이 되어 있는데요. 우리가 ..
레퍼런스/예제
2019. 6. 28. 23:49
최근댓글