zerun2872   6년 전

이게 예제가

3 5 2

1 1 1 3 5 2

2 3 3

이고 증가시킨 배열값들을 다 출력한다고 치면

아래 그림같은 배열이 출력되나요?

25365d7a-e9de-424e-9c46-5a6b7295eb69

jh05013   6년 전

"x 좌표가 [x1,x2]에 포함되고 y 좌표가 [y1,y2]에 포함되는 모든 위치에 씨앗을 d개 심습니다."

예제를 대입해서 바꿔 말하면, x 좌표가 1 이상 3 이하이고 y 좌표가 1 이상 5 이하인 모든 위치에 씨앗을 2개 심습니다.

바꿔 말하면, 모든 칸에 씨앗을 2개 심습니다.

zerun2872   6년 전

그럼 누적이 아닌건가요?

그럼 씨앗을 모두 심은 후 배열은 어떻게 되나요?

각 배열에는 무슨 수가 들어가게 되는거죠?

jh05013   6년 전

6ebd9177-6ae8-43e0-b721-f0e89d6cda76

색칠된 칸에 d가 더해지고, 나머지는 변화가 없습니다.

참고로 이걸 그대로 구현하면 시간 초과가 나옵니다. 이 문제는 굉장히 어려운 문제입니다.

isku   6년 전

3 5 2

1 1 1 3 5 2

2 3 3

첫 번째 쿼리를 수행하면 배열에는 다음과 같이 씨앗이 누적으로 증가됩니다.

isku   6년 전

이해를 돕기 위해 다른 예를 들어보면

4 5 1

1 2 2 3 4 1

위 예제는 다음과 같이 됩니다.

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