FickleBoBo

[BaekJoon] 17528번 - Two Machines [Java][C++]

문제 링크 1. 문제 풀이 각각의 작업들에 대해 머신 $A$ 에서 작업하는 경우랑 머신 $B$ 에서 작업하는 경우랑 완료 시간이 다른데 전체 작업의 완료에 걸리는 최소 시간을 구해야 하는 문제다. 배낭 문제를 활용하면 이 문제를 해결할 수 있는데 배낭의 용량을 머신 $A$ 가 작업을 수행하는데 쓸 수 있는 최대 시간으로 했을 때, 배낭의 가...

[BaekJoon] 14428번 - 수열과 쿼리 16 [Java][C++]

문제 링크 1. 문제 풀이 수열의 크기 $N$ 이 최대 $100,000$, 특정 원소의 값을 변경하거나 구간 내 최솟값의 인덱스를 구하는 쿼리의 수 $M$ 이 최대 $100,000$ 인 문제로 구간 쿼리와 점 갱신을 효율적으로 처리할 수 있는 세그먼트 트리를 활용하면 해결할 수 있다. 다만 구간 내 최솟값이 아니라 최솟값의 인덱스를 구해야 ...

[BaekJoon] 12899번 - 데이터 구조 [Java][C++]

문제 링크 1. 문제 풀이 데이터베이스 $S$ 에 특정 자연수 $X$ 를 추가하거나 $X$ 번째로 작은 수를 응답하고 그 수를 삭제하는 쿼리를 처리하는 문제로 숫자별 등장 횟수를 저장한 세그먼트 트리를 활용하면 해결할 수 있다. 이때 같은 수가 여러 번 추가될 수 있음에 주의해야 한다. $k$ 번째 수를 구하는 전형적인 세그먼트 트리 유형...