1. Lazy Spelling Bee각각의 스텝에서 선택할 수 있는 문자의 개수는 최대 3가지다. 이 중 서로 다른 문자의 개수가 우리가 이번에 택할 수 있는 경우의 수다. 문제를 풀 때는, 스텝을 순서대로 처리한다. 각 스텝마다 선택할 수 있는 서로 다른 문자의 개수를 계산한 후, 이 문자의 개수를 경우의 수에 곱해주면 된다. 2. Sums of Sums쿼리 개수가 많지 않으니 각각의 쿼리를 독립적으로 보자. 일단. 구간 $[L, R]$ 에 있는 수의 합를 계산한다고 하면 복잡하니, 구간 $[1, R]$ 에 있는 수의 합을 계산하고, $[1, L-1]$에 있는 수의 합으로 빼주는 것이 생각하기 편하다. 고로, 구간 $[1, X]$ 에 있는 부분 합들의 sum을 계산하는 문제를 풀면 된다.$X$번째까지의..
1. 공간을 만들어 봅시다미팅 공간을 잡는다는 것은, 미팅 공간의 왼쪽과 오른쪽 경계 파티션을 잡는다는 것이다. 0과 W를 포함한 모든 파티션의 쌍을 돌면서, 해당 파티션 쌍 사이에 생기는 공간의 크기는, 가능한 미팅 공간 크기라고 체크하면 된다. 2. Unique Encryption Keys어떠한 구간에 대해서 수들이 다 unique하다는 것은, 그 수와 같은 값을 가지는 수들이 (자신을 제외하고는) 해당 구간에 존재하지 않는다는 것을 뜻한다. 구간 $[S, E]$에 있는 수가 unique한지를 보려면, 그 수와 가장 가까운 두 수 (왼쪽 / 오른쪽) 을 본 후, 이것이 $[S, E]$ 구간 안에 있는지를 보면 된다. 이 풀이를 조금 더 정리하면 다음과 같다. $prev[i]$ 를 $i$의 왼쪽에 있으..
- Total
- Today
- Yesterday