본문 바로가기

누적합9

[BAEKJOON] 16139 인간-컴퓨터 상호작용 문제 요약 알고리즘 분류: 구간합, 누적합, 수학 난이도: Silver1 문제내용: 문자열 S가 주어지고 각 테스트케이스 마다 문자와 인덱스 시작점과 끝을 준다. 문자열에서 시작점과 끝사이에 문자 몇개 있는지 출력해라 사이트 : https://www.acmicpc.net/problem/16139 16139번: 인간-컴퓨터 상호작용 첫 줄에 문자열 $S$가 주어진다. 문자열의 길이는 $200,000$자 이하이며 알파벳 소문자로만 구성되었다. 두 번째 줄에는 질문의 수 $q$가 주어지며, 문제의 수는 $1\leq q\leq 200,000$을 만족한다. 세 번째 www.acmicpc.net 문제풀이 이번문제는 두가지 경우가 있는데 50점짜리는 각 시작점 부터해서 끝지점까지 탐색해서 해당되는 문자 몇개인지 출력.. 2022. 11. 9.
[BAEKJOON] 2559 수열 알고리즘 분류: 구간합, 누적합, 수학 난이도: Silver3 문제내용: 전체 날짜 수 N과 연속적인 날짜의 수 K와 전체 날짜를 준다. 연속적인 K일 온도의 합중 가장 큰것을 구해라 사이트 : https://www.acmicpc.net/problem/2559 2559번: 수열 첫째 줄에는 두 개의 정수 N과 K가 한 개의 공백을 사이에 두고 순서대로 주어진다. 첫 번째 정수 N은 온도를 측정한 전체 날짜의 수이다. N은 2 이상 100,000 이하이다. 두 번째 정수 K는 합을 구하기 www.acmicpc.net 문제풀이 이번 문제는 누적합, 구간합 기본 문제이다. 개념이나 이론적인 설명은 아래에 사이트에 참조 하면된다. https://jih3508.tistory.com/50 [알고리즘 이론] 구간합,.. 2022. 11. 8.
[알고리즘 이론] 구간합, 누적합(prefix sum) 이론1차원 배열누적합 누적합부터 먼저 설명하면 0번째 인덱스 부터 N 번째 인덱스까지 탐색하면서 인덱스 i일때 0번째 인덱스 부터 0번째 인덱스합을 말한다. Pythonarray = [1, 8, 7, 4, 3, 5, 6]n = len(array)prefix_sum = [0] * nfor i in range(n): for j in range(i+1): prefix_sum[i] += array[j]Javaimport java.util.Arrays;public class Main { public static void main(String[] args){ int[] array = {1, 8, 7, 4, 3, 5, 6}; int n = array.length; int[] prefixSum .. 2022. 11. 8.