본문 바로가기

대회

제3회 청소년 IT경시대회 고등부 (알고리즘 부문) 풀이 대회는 아마 작년(2024) 9월?왜 지금 쓰냐면 까먹고 있었는데 어제 4회 KITPA가 있었다. 이번엔 게임 이벤트랑 겹치고 3회 때 대상을 땄기 때문에 신청 안했지만..암튼 까먹고 있다가 오늘 보니까 KITPA 2회 조회수가 올라가있어서 기억났다. 이 글도 좀 일찍 쓸걸 그랬다.5회 때는 그 전에 4회 풀이를 올릴 수 있게 해야겠다.근데 솔직히 너무 오래되서 기억이 잘 안난다. 일단 기억나는 대로 서술난이도는 2회보다 쉽다. 1번 - 재미있는 파이프 퍼즐 (링크) solved.ac 티어더보기Gold V (20250316 기준) 풀이더보기(1,2)에서 시작하는 경우와 (2,1)에서 시작하는 경우를 따지자. 'I'는 무조건 전진해야하고 'L'은 무조건 아래로 가야 하며 아래도 'L'이어야 한다. 항상 전.. 더보기
제2회 청소년 IT경시대회 고등부 (알고리즘 부문) 풀이 일단 대회 자체는 3월 중순인가? 그때 있었다. 근데 왜 지금 쓰냐면 업솔빙하기 귀찮아서 미루고 있다가 여름학교 때 갑자기 생각나서 다 풀었다. 일단 본 대회 때는 은상이었다. 3개 중에 1개 풀었는데 은상인것도 재밌지만 1번과 2,3번의 난이도 격차가 커서 그럴 만도 하다. 근데 솔직히 2번 안잡고 3번 쭉 잡았으면 2개는 풀었을듯난이도는 굳이 따지자면 개인적으로 KOI 고등부보다는 쉽다. 근데 애초에 문제 스타일이 좀 달라서 직접 비교하기는 좀 힘들다. 1번 - 즐거운 회의 (KITPA 2회 고등부 1번)문제 링크 티어더보기solved.ac Gold V (20240815 기준) 알고리즘 분류더보기solved.ac : prefix_sum작성자 풀이 : graph_theory 풀이더보기친한 관계를 그래프.. 더보기
와 이걸 왜 대회 때 못풀었지 KOI'24 이진 트리 (중등부 3번, 고등부 2번)#include using namespace std;#pragma GCC optimize("O3")#pragma GCC optimize("Ofast")#pragma optimize("unroll-loops")#define fast ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0)#define all(x) x.begin(), x.end()#define rll(x) x.rbegin(), x.rend()#define comp(x) x.erase(unique(all(x)), x.end())#define MOD 1000000007#define debug(x) cout P;typedef pair PP;ll n;ll .. 더보기
KOI 2024 일기 망했다.내신 챙긴다고 PS만 하고 CP를 안 했더니 대회 때 그대로 멸망했다.본선도 못 가게 생겼다.내신이랑 PS 분배를 잘 해야될 것 같다. 열심히 해야겠다 더보기
KOI 지역본선 2005 2587 - 대푯값2 (초1, Bronze II) 문제 5개의 수의 평균과 중앙값을 출력한다. 풀이 더보기 그대로 해주면 된다. accumulate()를 써도 된다. 시간복잡도는 O(1)이다. #include using namespace std; int arr[5], sum; int main(){ for(int i = 0 ; i >arr[i], sum += arr[i]; sort(arr, arr+5); cout0)a[2]--, c -= 4; a[1] -= c; } ans += a[3]/4+bool(a[3]%4); a[3] %= 4; if(a[3]==1){ ll c = 20; while(a[2]>0 and c>0)a[2]--, c -= 4; a[1] -= c+7; } if(a[3].. 더보기
KOI 지역본선 2004 고등부 5번 청개구리를 제외한 문제들의 풀이이다. 2309 - 일곱 난쟁이 (초1, Bronze I) 문제 9명 중 7명의 키를 합했을 때 100이고 유일하다. 이때 7개의 수를 오름차순으로 출력하시오. 풀이 더보기 9명 중 7명을 고르는 것과 9명 중 2명을 제외하는 것은 같으므로 2명을 제외하는 모든 경우를 고려한다. 시간복잡도는 O(9^2)이다. using namespace std; #pragma GCC optimize("O3") #pragma GCC optimize("Ofast") #pragma optimize("unroll-loops") #define fast ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0) #define all(x) x.begin.. 더보기
KOI 2023 2차 대회 중등부 후기 현재 가채점 결과가 나왔다. 중간에 충전선에 아이패드가 걸려서 카메라가 넘어진 것 때문에 부정행위에 걸리지 않는 이상 3위는 고정일듯 하다. 타임라인 1줄요약 1->2->3긁기->4긁기->3->4긁기 아래부터 나와있는 풀이의 내용은 오류가 있을 수 있다. (부등호 실수, 조건 빠뜨림 등등?) 0:00 ~ 8:26 : 1번 해결 +100점 1번은 문제해석이 중요하다. 문제의 조건을 다 보지 않으면 예제 2의 답이 이상하게 느껴지기 때문이다. 문제를 요약하면 다음과 같다. 스케이트를 속력 0에서 시작하여, N개의 지점에서 아래와 같은 속력 조건에 맞춰 속력을 조정한 후 마지막에는 속력 0으로 끝날 때, 각 부분에서의 속력의 합의 최댓값은? (=N개의 지점에서의 속력의 합) 조건 1 : 배열 A = (a1, .. 더보기