15961번: 회전 초밥 - 슬라이딩 윈도우
https://www.acmicpc.net/problem/15961 15961번: 회전 초밥 첫 번째 줄에는 회전 초밥 벨트에 놓인 접시의 수 N, 초밥의 가짓수 d, 연속해서 먹는 접시의 수 k, 쿠폰 번호 c가 각각 하나의 빈 칸을 사이에 두고 주어진다. 단, 2 ≤ N ≤ 3,000,000, 2 ≤ d ≤ 3,000, 2 www.acmicpc.net 관찰, 알고리즘 무식한 풀이로 해결하면, 연속해서 놓여있는 초밥 k개를 묶는 과정을 N번 반복하면 된다. 이때 시간복잡도는 O(kN)인데, N의 범위는 3백만, k의 범위는 3천이므로 시간 초과가 날 것이다. 이전 단계에서 묶은 초밥에서 가장 뒤쪽 초밥은 빼고 다음에 오는 초밥을 포함시켜 묶으면, 좀 더 빠르게 초밥을 묶을 수 있을 것 같다. 즉, 이 ..
알고리즘/baekjoon
2023. 4. 6. 13:43