본문 바로가기

대회 리뷰

(74)
2022 경인지역 6개 대학 연합 프로그래밍 경시대회 shake! Open Contest 2022 경인지역 6개 대학 연합 프로그래밍 경시대회 shake! Open Contest 사용 가능한 언어 C++17 Java 8 Python 3 C11 PyPy3 C++11 C++14 Java 11 www.acmicpc.net B - 지수를 더하자 수학 00:04 AC D - 버튼 정렬 최초 한 번만 정렬되면 이후에는 주기성이 생긴다. 00:16 WA 예제만 통과하는 잘못된 코드였다. 00:20 WA 다음과 같은 반례에 주의해야 한다. 5 1 2 3 5 4 10 잘못 생각하면 한 번의 연산으로 마지막 4를 5로 만들 수 있다고 생각할 수 있다. 하지만 이전의 모든 원소 x에 대하여 x > 4를 만족하여야 한다. 따라서 수열 A가 최초로 정렬되는 시점은 1이 아닌 10이 된다. 00:25 AC A - 팝..
2023 중앙대학교 CHAC (ChAOS Hello2023 Algorithm Contest) Open Contest 2023 중앙대학교 CHAC (ChAOS Hello2023 Algorithm Contest) Open Contest www.acmicpc.net A - 찬반투표 단순 구현 00:01 AC B - 시프트 연산 다음 4가지 경우만 고려하면 된다. L-시프트 R-시프트 L-시프트 후 R-시프트 R-시프트 후 L-시프트 00:14 AC D - 버섯 농장 dfs 대회 참가 직전에 푼 문제랑 비슷해서 코드 복붙하고 살짝 수정하였다. 00:20 AC F - 연산자 파티 right shift 이후 X는 항상 0이 됨에 주목해야 한다. 00:25 AC H - 월드컵 조별리그 이분 탐색 00:43 WA 이분 탐색 범위를 잘못 잡았다. 00:44 AC C - 견제 미로찾기 게임 이론 dp 대회 중에는 그런디 수까지 사용하며..
Codeforces Round 857 (Div. 1) Dashboard - Codeforces Round 857 (Div. 1) - Codeforces codeforces.com A - The Very Beautiful Blanket cnt는 분명 N * M일 것 같았다. A[i][j] = 1LL m1인 모든 (a, b) pair에 대하여 m2 >= b를 만족한다. 따라서 a가 큰 순으로 정렬한 후 그리디하게 계산하면 된다. 00:20 WA 00:24 WA 다음과 같은 추가적인 관찰이 필요하다. a > m1인 모든 (a, b) pair에 대하여 max(b)를 m3라고 하자. a < m1인 각각의 (a, b) pair에 대하여 m2를 max(m3, b)로 만들 수 있다. 모든 m1에 대하여 m1에 가장 가까운 b를 구하면 되는데 이는 multiset으로 해결..
2023 성균관대학교 프로그래밍 경진대회 Open Contest 2023 성균관대학교 프로그래밍 경진대회 Open Contest www.acmicpc.net 서론 무려 한 달 만에 포스팅한다. A - 증가 배열 만들기 대각선 방향으로 채우면 된다. 00:02 AC B - 토크나이저 단순 구현 00:10 AC E - AB Trie 00:23 WA 변수를 초기화하지 않아 쓰레기값이 들어 있었다. 00:25 AC C - 마법박스 답은 항상 소수라는 점을 파악하면 이분 탐색이 가능해진다. 00:31 WA 출력 형식을 지키지 않았다. 00:33 AC D - 벌레컷 수식을 잘 정리한 후 이분 탐색 또는 two pointer로 해결할 수 있다. 식 정리는 내가 제일 약한 부분인데 때문에 시간이 오래 걸렸다. 긴가민가한 상태에서 확신이 들지 않았는데 더 이상 시간을 소비할 수 없어..
2023 신촌지역 대학생 프로그래밍 대회 동아리 연합 겨울 대회 (SUAPC 2023 Winter) Open Contest 2023 신촌지역 대학생 프로그래밍 대회 동아리 연합 겨울 대회 (SUAPC 2023 Winter) Open Contest www.acmicpc.net A - 카트라이더: 드리프트 구현 00:04 AC F - 배너 걸기 sliding window 00:15 AC K - 시계 맞추기 [1, 720] 범위의 R에 대하여 brute force 00:31 AC M - 좋은 문자열 만들기 길이가 1 또는 3인 gbs는 존재하지 않는다. 길이가 2인 gbs는 "01"과 "10"이 있으며 이를 만들기 위한 비용은 0 또는 1이다. 이외의 경우에는 항상 2 이하의 비용으로 주어진 문자열을 gbs로 만들 수 있다. gbs는 다음 패턴 중 하나를 만족한다. 0 0 ... 0 1 * ... * 0 1 ... 1 1 1 1 ..
2023 ICPC Sinchon Winter Algorithm Camp Contest Open 2023 ICPC Sinchon Winter Algorithm Camp Contest Open www.acmicpc.net A - 2023년은 검은 토끼의 해 구현 00:02 AC B - 만다라트 만들기 구현 00:10 AC C - 발머의 피크 이론 two pointer 00:13 AC D - 알파벳 블록 deque and stack 00:17 AC E - 연애 혁명 mst 00:23 AC H - RGB트리 트리 dp 00:41 WA 역추적을 잘못하였다. 00:45 AC J - 가난한 고흐와 붓 고흐가 먼저 시작하는 경우 고흐의 행동을 따라하면 된다. 그렇지 않다면 셀프 루프를 하나 만든 후 고흐의 행동을 따라하면 된다. 01:00 AC I - 천국의 계단 만들 수 있는 단의 개수를 세는 것이 더 간단하..
2023 KSA Automata Winter Contest 2023 KSA Automata Winter Contest www.acmicpc.net A - 소수가 아닌 수 1e9 00:02 AC B - 그래서 대회 이름 뭐로 하죠 단순 구현 00:07 AC C - 수학 퀴즈 w^2 + w + 1 = 0 이므로 다음이 성립한다. w^2 = -(w + 1) w^3 = -(w^2 + w) = 1 w^4 = w 00:16 AC D - 2배 또는 0.5배 조건을 만족하는 수열은 항상 존재한다. (i) N % 4 == 0 1 2 4 3 | 5 6 8 7 | ... | (ii) N % 4 == 1 1 2 4 3 | 5 6 8 7 | ... | N (iii) N % 4 == 2 1 2 4 3 | 5 6 8 7 | ... | (N - 1) N (iv) N % 4 == 3 1 3 ..
2022 고려대학교 프로그래밍 경시대회 (KCPC mini) Open Contest 2022 고려대학교 프로그래밍 경시대회 (KCPC mini) - Open Contest www.acmicpc.net A - 금공강 사수 완전 탐색 00:08 AC B - 참살이길 정렬 + 수학 00:17 WA 정렬 코드를 빼먹었다. 00:18 RTE 신호등이 없는 경우를 고려하지 않았다. 00:19 AC C - 읽씹 멈춰! 2진수로 생각하면 된다. 00:24 WA 예제만 잘 나오는 완전히 잘못된 코드였다. 00:28 WA s 대신 1을 사용하였다. 예제 데이터의 s도 1이어서 예제는 잘 나왔다. 00:31 WA overflow가 발생하였다. __int128 타입을 사용하여 해결하였다. 00:33 AC __int128 타입을 사용하는 대신 다음과 같이 비교하면 overflow를 방지할 수 있다. s * N