| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1 초 | 1024 MB | 774 | 361 | 296 | 53.142% |
모든 노드의 자식 노드가 $0$개 또는 $2$개인 이진 트리 $T$에 대해 $S(T)$의 값은 다음과 같이 정의한다.
예를 들어, 다음과 같은 이진 트리 $T$가 있다고 가정해보자.
| (a) 만든 트리 | (b) 리프 노드에 번호를 붙인 트리 |
$f(5, 7)$의 값은 $2$이다. 다음과 같이 서브 트리 두 개를 선택하면 $5$, $6$, $7$번 리프 노드만 덮이기 때문이다.
이런 식으로 모든 $1 ≤ a ≤ b ≤ 7$에 대해 $f(a, b)$의 값의 합은 $47$이고, 이를 $10^9 + 7$로 나눈 나머지를 구하면 $S(T) = 47$이다.
정수열 $A_1, A_2, \cdots , A_N$과 $B_1, B_2, \cdots , B_N$이 주어진다.
이진 트리 $T_0, T_1, \cdots , T_N$을 다음과 같이 정의한다.
$S(T_1), S(T_2), \cdots , S(T_N)$을 구하는 프로그램을 작성하라.
첫 번째 줄에 정수 $N$이 주어진다.
다음 $N$개의 줄 중 $i$ ($1 ≤ i ≤ N$)번째 줄에는 $A_i$와 $B_i$가 공백으로 구분되어 주어진다.
$N$개의 줄을 출력한다. $i$ ($1 ≤ i ≤ N$)번째 줄에는 $S(T_i)$를 출력해야 한다.
| 번호 | 배점 | 제한 |
|---|---|---|
| 1 | 5 | $A_i = B_i = i - 1$ ($1 ≤ i ≤ N$), $N ≤ 10$ |
| 2 | 10 | $A_i = B_i = i - 1$ ($1 ≤ i ≤ N$) |
| 3 | 5 | $A_i = i - 1$, $B_i = 0$ ($1 ≤ i ≤ N$) |
| 4 | 10 | $T_1, T_2, \cdots , T_N$의 노드 개수의 합은 $1\, 000$ 이하 |
| 5 | 25 | $T_1, T_2, \cdots , T_N$의 노드 개수의 합은 $300\, 000$ 이하 |
| 6 | 45 | 추가 제약 조건 없음. |
5 0 0 1 0 1 2 3 1 4 4
3 7 21 47 254
위 예제에서 $T_4$는 아래 그림과 같다.
7 0 0 1 1 2 2 3 3 4 4 5 5 6 6
3 13 65 337 1729 8641 41985
Olympiad > 한국정보올림피아드 > KOI 2024 1차대회 > 중등부 3번
Olympiad > 한국정보올림피아드 > KOI 2024 1차대회 > 고등부 2번