iriszero   8년 전

map이 hash를 어떻게 하는지 몰라서 TLE날까봐 배열로 다 잡았는데

배열로 caching 할려면

16434824 * 8 byte 필요한데

메모리제한은

16777216 * 8 byte 라서 굉장히 빡빡하네요.


의도하신 건진 모르겠는데 프로그램을 어떻게 짜느냐에 따라서 2,739,136 Byte 정도는 넘어갈 수도 있지 않을까 싶네요.


5~10MB정도 여유를 두는 것도 고려해봄직합니다.

algoshipda   8년 전

8개니깐 상태 1개는 int나 long long 1개로 표현할 수 있지 않을까요?

iriszero   8년 전

7654321 (8) = 16434824 에요


algoshipda 님이 말씀하시는게 뭔지 이해가 안되네요 ㅠ

algoshipda   8년 전

8개니깐 0~7로 생각하면 숫자 하나는 3비트로 나타낼 수 있잖아요? 그러면 int 하나에 3비트씩 끊어서 담으면 8개 숫자를 3*8개의 비트를 써서 표현할 수 있지 않을까요

algoshipda   8년 전

예를 들어 4 3 2 1 이면 2진수로 나타넀을때 011 010 001 000 이런식으로 숫자 하나당 3비트로 나타내면 int 하나로 상태를 표현할 수 있어요. 이걸 map에다가 넣으면 8! * 8byte밖에 안 필요해요

algoshipda   8년 전

물론 이것저것 저장하면 저거에 몇배는 더 필요하긴 할거에요

댓글을 작성하려면 로그인해야 합니다.