표의 구간 합 구하기
시간 제한1초메모리 제한256 MB
N행 N열 표의 칸 값을 바꾸면서 직사각형 구간 합 질의를 순서대로 답합니다.
- 난이도
보통10점 중 4점
- 유형
- 세그먼트 트리
- 정답자
- 아직 제출이 없습니다
문제
크기의 표에 자연수가 채워져 있다. 표의 행 열 칸은 로 나타낸다. 부터 까지의 합은 와 를 만족하는 모든 칸 에 적힌 수를 더한 값이다.
표의 한 칸을 다른 수로 바꾸는 연산과 직사각형 구간의 합을 구하는 연산이 섞여서 들어온다. 이고 표가 아래와 같은 경우를 보자.
부터 까지의 합은 이다. 여기서 에 적힌 수를 로 바꾸면 같은 구간의 합은 이 된다.
표의 처음 상태와 연산이 순서대로 주어질 때, 합을 구하는 연산마다 그 값을 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 표의 크기 과 연산의 수 이 주어진다. (, )
둘째 줄부터 개의 줄에 표의 각 행이 1행부터 차례대로 주어진다. 각 줄에는 개의 수가 공백으로 구분되어 있고, 표에 적힌 수는 모두 이하의 자연수이다.
이어지는 개의 줄에는 연산이 한 줄에 하나씩 주어진다. 연산은 네 정수 , , , 또는 다섯 정수 , , , , 의 형태이다. 이면 에 적힌 수를 로 바꾸고, 이면 부터 까지의 합을 구한다. (, , , , )
출력
인 연산마다 구한 합을 입력에 주어진 순서대로 한 줄에 하나씩 출력한다.