2018. 1. 12. 13:39, 알고리즘/BOJ
https://www.acmicpc.net/problem/7453
4중 for문을 돌려 정직하게 풀어내려고 한다면 O(N^4)로 무조건 시간초과가 발생합니다. 대신 A, B 두 그룹에서 표현가능한 모든 합이 저장된 배열1, C, D 두 그룹에서 표현가능한 모든 합이 저장된 배열2를 만들어 이 둘을 가지고 binary search를 한다면 시간복잡도는 O(N^2logN)이 됩니다. 답 갯수가 int 범위를 넘을 수 있음에 유의해야합니다.
int 3000개 정도의 배열을 잡았는데 대충 128MB 안에서 해결이 되네요.
'알고리즘 > BOJ' 카테고리의 다른 글
[BOJ] 14888번: 연산자 끼워넣기 (0) | 2018.01.15 |
---|---|
[BOJ] 5397번: Keylogger (0) | 2018.01.15 |
[BOJ] 11723번: 집합 (0) | 2018.01.13 |
[BOJ] 1786번: 찾기 (0) | 2018.01.12 |
[BOJ] 10217번: KCM Travel (0) | 2018.01.10 |
[BOJ] 11657번: 타임머신 (0) | 2018.01.09 |
Comments