누적합

알고리즘 (PS)/BOJ

[백준] 9527 - 1의 개수 세기(Counting ones) (G2)

https://www.acmicpc.net/problem/9527 9527번: 1의 개수 세기 두 자연수 A, B가 주어졌을 때, A ≤ x ≤ B를 만족하는 모든 x에 대해 x를 이진수로 표현했을 때 1의 개수의 합을 구하는 프로그램을 작성하시오. 즉, f(x) = x를 이진수로 표현 했을 때 1의 개수라 www.acmicpc.net class5 문제를 풀면서 만났던 생 수학 문제. 두 정수가 주어질 때, 두 정수를 포함하는 범위의 모든 정수를 이진수로 변환했을 경우 1의 개수를 모두 세는 문제이다. 곧이곧대로 구하면 수의 범위가 커서 시간초과를 받는다. 나는 다음과 같은 풀이를 떠올렸다. 1. 누적합 [a, b] 구간의 모든 정수의 이진수의 1의 개수를 직접 구하기보다 [1, a] 구간의 이진수의 1..

알고리즘 (PS)/BOJ

[백준] 1644 - 소수의 연속합 (G3)

https://www.acmicpc.net/problem/1644 1644번: 소수의 연속합 첫째 줄에 자연수 N이 주어진다. (1 ≤ N ≤ 4,000,000) www.acmicpc.net 나는 투포인터를 안쓰고 풀었는데, 정해가 투포인터라서 놀랐다. 확실히 '어떤 정렬된 것들중 일부의 연속' 은 투포인터를 쓰기 좋다. 일단 이 문제가 골드3이라서 당연히 DP부터 의심했는데, DP가 아닌 풀이가 떠올라서 바로 구현했다. 내가 푼 풀이와 투포인터 풀이를 모두 적어보겠다. 이분탐색을 이용한 풀이 소수의 리스트 2, 3, 5, 7, 11, 13, ,,,, 가 있다고 하고 소수의 누적합 배열을 s 라고 해보자. (누적합 배열은 0부터 시작한다고 하자) 최적해가 되는 구간은 어떤 소수로 시작할 것이다. 2로 시..

에버듀
'누적합' 태그의 글 목록