forked from cotes2020/jekyll-theme-chirpy
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
fda8b53
commit 0d69bac
Showing
1 changed file
with
59 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
--- | ||
title: SciOI 2023 Open Contest | ||
author: Annyeong1 | ||
date: 2023-12-30 20:30:00 +0900 | ||
categories: | ||
- CP | ||
- BOJ | ||
tags: | ||
- cp | ||
- boj_contest | ||
- boj | ||
math: true | ||
mermaid: true | ||
--- | ||
12월 30일 진행한 서울과학고등학교 SciOI 대회이자 16번 아레나 대회 일지입니다. 5시간 중 2시간 반 정도 잡은 것 같습니다. | ||
|
||
## 0:00~0:06 | ||
- A1번을 잡았습니다. | ||
- 그냥 한번에 $mk-1$명씩 이동하는 아이디어가 되는 문제였습니다. | ||
- 맞았습니다. | ||
|
||
## 0:06~0:09 | ||
- A2번을 잡았습니다. | ||
- 그냥 시키는 대로 하면 됩니다. | ||
- 맞았습니다. | ||
|
||
## 0:09~0:40 | ||
- C1번을 잡았습니다. | ||
- 발상 1(9분): 짝수나 1이라면 불가능합니다. | ||
- 발상 2(10분): 처음에 어디를 지우고 남은 턴동안 상대가 지운 것의 반대쪽을 지우는 행동을 취할 수 있으면 됩니다. 즉 가운데에 괄호가 있으면 됩니다(아닙니다). | ||
- 틀렸습니다. | ||
|
||
## 0:40~1:10 | ||
- 점심을 먹었습니다. 제육볶음이 맛있었습니다. | ||
|
||
## 1:10~1:30 | ||
- 발상 3(75분): 가운데에 괄호가 있지 않아도 됩니다. 하나씩 지워가면서 올바른 괄호열이 나오는지 직접 확인해야 합니다. | ||
- 구현했고 맞았습니다. | ||
|
||
## 1:30~1:55 | ||
- A3번을 잡았습니다. | ||
- 발상 1(5분): 중간고사를 기준으로 정렬하고 커트가 될 수 있는 곳들을 잘 찾을 수 있습니다. 이들을 모두 저장하고 왼쪽 것을 고른 뒤 오른쪽 것을 중간 위치 근처로 lower_bound하면 $O(n \log n)$입니다. | ||
- 커트가 될 수 있는 곳을 찾는 과정에서 실수를 여러 개 해서 고치고 맞았습니다. | ||
|
||
## 1:55~2:28 | ||
- B1번을 잡았습니다. | ||
- 발상 1(5분): 만약 출발지점으로 돌아오는 조건이 있다면, 지나는 모든 간선은 정확히 두 번 세집니다. | ||
- 발상 2(10분): 즉, 임의의 간선에 대해, 루트 방향으로 있는 정점의 수를 x개, 반대 방향의 정점을 n-x개로 두면 둘에서 합쳐서 k개를 뽑는 경우의 수의 두 배만큼 세집니다. 이제 여기서 출발지점으로 돌아오는 것을 빼면 됩니다. | ||
- 발상 3(20분): 돌아올 때의 경로는 아예 다른 방법으로 세줄 수 있습니다. k개를 고르면 그중 가장 깊은 것이 도착지가 되므로, 깊이를 고르고 그 깊이 이내에서 k개가 골라지는 것의 수를 찾아 그것에 깊이를 곱한 것을 위에서 빼면 됩니다. | ||
- 구현했고 맞았습니다. | ||
|
||
## 2:28~3:00 | ||
- B2와 C2의 부분점수를 보았습니다. | ||
- 귀찮아서 포기했습니다. | ||
|
||
## 후기 | ||
- 33등을 했습니다. 문제가 나름 재미있었던 것 같습니다. | ||
- C1을 7틀한 것이 아쉽지만 이정도면 잘 풀어내지 않았나 싶습니다. | ||
- SS에 달성하며 학교에서 학년 1등이 되었습니다. |