(2018.01.17 : 일이 바빠서 잊고 있다가 1월 17일에야 모든 연습의 풀이를 공개할 수 있었습니다. 여전히 풀이가 준비되지 않은 문제들이 있는데 꼭 풀이를 쓰도록 하겠습니다..) 동아리 내부에서 방학 BOJ 연습에 대한 수요가 있어서, 여름방학 동안 BOJ RUN@KAIST 그룹에서 (비공개 그룹이다.) 방학 연습을 진행했습니다.연습 까먹고 안 열기, 제멋대로 널뛰기하는 문제 난이도, 잘못된 디스크립션과 시간 제한, 제때 올라오는 일이 없는 연습 풀이 등.. 이슈가 너무 많았습니다. 사실 방학 내내 문제 세팅 노예여서 방학 연습 외에도 여기저기 문제 세팅을 하고 있느라 시간을 많이 할애할 수 없었습니다. 그래도 8월에 여유가 생겨서, 이슈도 줄고 풀이 쓰는 속도가 밀리는 속도보다 빨라졌네요.이런..
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