주제 링크 : https://www.acwing.com/problem/content/248/
생각 : 새로운 배열 B, 초기 모두 0을 각각 "L C D는 r"에 대해, 수 2 [L] + = D, B [R + 1] - = D;
트리에 배열 될 수만큼 배열의 유지 보수 등의 b를 프리픽스 배열 및 B는, 어레이 A의 값에 대응 증가한
사용법 #include <iostream> #INCLUDE <알고리즘> #INCLUDE <문자열> #INCLUDE <CString을> #INCLUDE <cstdio> #INCLUDE <cmath> #INCLUDE <지도> #INCLUDE <큐> 사용 스페이스 성병; 이 [200005], B [200,005]을 int로; INT 않음; 부가 공극 (INT의 X, Y의 INT) { 대 (; X <= N이고; X 및 X + = -x) B [X] + = Y; 반환; } INT는 (의 INT (X))를 요청 { INT ANS = 0; 대 (; X, X 축, X = -x) ANS는 + B = [X]; ANS를 반환; } INT의 main () { INT의 m; scanf와 ( "% d 개 %의 D", 및 N, m); 난 = N <; 위해 (ⅰ = 1 int로; (M--) 동안 숯 C; getchar가 (); scanf와 ( "%의 C", 및 C); 경우 (c == 'Q') { w INT; scanf와 ( "%의 D ', w); 의 printf ( "% D \ 없음"() 요청 승 + A [w]); } 다른 { INT의 L, R, w; scanf와 ( "% D % D % D ', L, R, W); (L, W)에 추가; 추가 (R + 1, -w); } } 0을 리턴; }