그냥 하는 노트와 메모장

Algospot - 정렬 게임(SORTGAME) 본문

Solved problems

Algospot - 정렬 게임(SORTGAME)

coloredrabbit 2018. 7. 3. 17:55

* Algospot - 정렬 게임(SORTGAME, )

  [ 분류 - BFS ]


간단한데, 이상하게 자꾸 시간초과가 뜨는 문제다.


* 접근 방법

  1. 길이가 x인 수열을 한 번 이상의 연산을 수행했을 때, 정렬 결과로 나올 수 있는 경우의 수는 x!이다.

  2. 내부에서 연산을 수행하는 속도는 약 O(x)다. 따라서 1.의 결과로 보면 속도는 최대 8!*8이다.

  3. 하지만 이를 들어오는 쿼리마다 수행할 수는 없으므로 "미리" 저장을 해놓고 들어오는 입력에 따라 O(C lg(x!*x)) 시간으로 찾을 수 있도록 한다.

  4. 최대가 8이므로 길이 8짜리만 구하고, 나머지 길이에 대해서는 남는 부분을 오름차순으로 채우고 찾으면 된다.




- 코드


'Solved problems' 카테고리의 다른 글

CS Academy - Array Removal  (0) 2018.09.01
BOJ 2549 - 루빅의 사각형  (0) 2018.08.07
Algospot - 어린이날 (CHILDRENDAY)  (0) 2018.07.03
BOJ 3987 - VOYAGER (보이저 1호)  (0) 2018.07.03
BOJ 6084 - Laserphones (레이저 통신)  (0) 2018.07.02
Comments