Codeforces Round #800 (Div. 2) 결과가 마음에 안 든다. A (00:03) 010101....꼴로 만들고, 남은 수는 오른쪽에 다 몰면 된다. B (00:20) '10' 또는 '01'꼴이 있다면, 그 왼쪽의 숫자들은 모두 없앨 수 있다. 그러니까 저 형태일 때 인덱스를 ans에 더해주면 된다. C (00:30) 합이 0이 아닐 때, sum[1:k] 0일 때는 불가능하다. 그리고, 합이 sum[1:k] < 0인 모든 k(i 코드포스 2022.06.17
Educational Codeforces Round 130 (Div. 2) https://codeforces.com/contest/1697 Dashboard - Educational Codeforces Round 130 (Rated for Div. 2) - Codeforces codeforces.com 아직도 민트로 떨어진게 웃기다. 퍼플 등반 다시 가자.. A (00:02) \(sum(a) - m\) B (00:05) 배열을 내림차순으로 정렬하고 누적합 배열 p를 만들자. \(p[y] - p[x]\)가 답이다. C (00:26) +1 s에서 등장하는 알파벳, t에서 등장하는 알파벳을 각각 세고, 같아지는 순간이 올 때마다 확인하면 된다. 그냥 구현 문제다. D (01:39) +1 풀이 쓰기 너무 귀찮다. 이분탐색을 돌리면 된다. 코드포스 2022.06.13
Codeforces Round #796 (Div. 2) 민트가 되었다. 나쁜쪽으로 문제셋? 컨셉을 이런식으로 잡는걸 볼때마다 뭔가 화난다. 이런 것들을 코포에서까지 보고싶지는 않다 A (00:06) 처음으로 나오는 1과 0의 위치를 이용해서 풀면 된다. B (00:12) 홀수가 존재한다면 짝수의 개수가 답이다. 존재하지 않는다면 가장 적은 횟수로 홀수를 만들 수 있는 짝수 k를 찾고, 그 횟수를 c라고 할 때, c + even_cnt - 1이 답이다. C (--:--) 알파벳의 등장 횟수가 홀수인 알파벳이 답이다. 게임하다가 갑자기 번뜩 떠올랐는데, 진짜 허무하다. 업솔빙한 기분도 들지 않는 개쓰레기 문제 D (--:--) k=n일 때는, n분이 남을 때까지 한쪽 끝에서 기다렸다가 반대쪽 끝으로 이동하면 된다. 이것보다 나은 정답은 존재하지 않는다. 실력은... 코드포스 2022.06.04
Codeforces Round #788 (Div. 2) https://codeforces.com/contest/1670 https://codeforces.com/contest/1670 codeforces.com A (01:49) +5 음수의 개수와 양수의 개수 중 적은 것을 k라고 하면, 왼쪽 k개는 음수로 하고 나머지는 양수로 하면 풀린다 B (00:29) Special Letter 전까지의 알파벳 개수가 답이다. SAAAAS은 4가 아니라 5임에 유의 C (01:00) +3 \(a_i\)에서 \(b_i\)로 가는 간선들을 추가해주고, 크기가 2 이상인 사이클의 개수를 \(i\)라고 했을 때, \(2^i)가 답이다. D (01:51) +2 직선의 기울기에 따라 a, b, c로 나누어보자. a, b, c의 개수들 중 가장 많은 두 종류의 직선을 지나도록 그으.. 코드포스 2022.05.07
Codeforces Round #785 (Div.2) https://codeforces.com/contest/1673 Dashboard - Codeforces Round #785 (Div. 2) - Codeforces codeforces.com 기쁘다. 4솔이 잘 돼서 코포 의욕이 마구 생긴다! 다음 목표는 1시간 안에 4솔 가볍게 하기 + 남은 1시간 안에 2E 솔브. A (00:04) 짝수면 알파벳의 합. 홀수면 한쪽 끝의 알파벳 한 개만 빼고 합 비교하기 더보기 28줄부터 보면 된다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 impo.. 코드포스 2022.05.01
Educational Codeforces Round #127 (Div.2) https://codeforces.com/contest/1671 Dashboard - Educational Codeforces Round 127 (Rated for Div. 2) - Codeforces codeforces.com E솔이 무려 500명정도가 나왔던 쉬운 라운드. 하지만 나에겐 아직도 어렵다 A (00:02) 2글자 이상의 연속된 문자는 무조건 만들수 있다. 단순 구현문제 B (00:07) x - 1, x, x + 1은 뭔가 좀 불편하니까 x - 2, x - 1, x로 보면, 바로 전 수에 맞춰서 값을 빼기만 하면 된다는 사실을 금방 알 수 있다. 이것도 단순 구현문제 C (00:25) 가격이 싼 것부터 사는게 당연히 이득이므로, 정렬 후 누적합 배열을 만든다. 그리고 각 물품마다, 어느 날.. 코드포스 2022.04.23
CodeForces Round #782 (Div.2) https://codeforces.com/contest/1659 Dashboard - Codeforces Round #782 (Div. 2) - Codeforces codeforces.com A (00:05) r/(b+1) 개의 R, 1개의 B를 번갈아 놓되, 남는 R들을 칸?마다 1개씩 뿌려주면 된다. B (00:35) i, j번째를 고르면, A[i]와 A[j]의 비트가 각각 반전된다. 이 점을 이용하여, k가 홀수일 때와 짝수일 때를 나누어 풀면 된다. C (01:37) 식정리를 확실히 하지 않는 실수로 20분정도를 날려먹었다. 바로 전 지점과의 거리를 배열 D에 저장하자. 만약 2번째를 수도로 잡고 3번째 지역을 점령한다면 (빨간 직사각형의 합 * b) 을 빼고 (D[1] + D[2]) * a 값을.. 코드포스 2022.04.18
Codeforces Round #781 (Div.2) https://codeforces.com/contest/1665 Dashboard - Codeforces Round #781 (Div. 2) - Codeforces codeforces.com A - GCD vs LCM (00:02) 1 (n - 3) 1 1 B - Array Cloning Technique (00:10) 가장 많은 수의 개수를 k라고 하면, k는 계속 2배가 된다. 그냥 구현하면 된다. B - Tree Infection (01:25) 루트를 기준으로 층을 나누고, 각 자식 노드의 수를 배열 c에 저장한다. 여기서 자식 노드의 수가 큰 정점부터 그리디하게 해결하면 된다. D - Array Cloning Technique (--:--) gcd(x+a, x+b) = gcd(x+a, b-a)임을.. 코드포스 2022.04.09
Codeforces Round #738 A~D1 (Div. 2) https://codeforces.com/contest/1559 Dashboard - Codeforces Round #738 (Div. 2) - Codeforces codeforces.com 에이펙스하느라 5분 지각했다. A (00:10) 모든 수에 AND 연산을 하면 된다. B (00:26) 그냥 구현하면 된다. B??R -> BRBR, B??B -> (두 알파벳이 번갈아 나오기만 하면 됨) C (00:40) 1 -> 2 -> ... -> n이 있을때, 이 사이 어디에 (-> n + 1 ->)를 끼워넣을 수 있으면 된다. 먼저, 처음과 마지막을 확인했고, 끼워넣는 경우를 확인했다. D1 (00:52) 두 포레스트에 대해 Union-Find를 하면 쉽게 풀린다. 나머지 두문제는 못풀었다. 퍼플 갈수 있나.. 코드포스 2021.08.19
CodeForces Round #735 A, B, D (Div.2) https://codeforces.com/contest/1554 Dashboard - Codeforces Round #735 (Div. 2) - Codeforces codeforces.com 블루! A (00:09) 길이 3 이상의 연속하는 부분 수열을 보는 것이 길이 2의 부분수열보다 나은 답을 내놓지 않는다. 길이 2의 부분수열 N - 1개만 확인하면 된다. B (01:17) \( i * j - k * (a_{i} | a_{j}) \)에서, i, j가 맨 뒤에 있다고 하면, 곱은 대충 \(N^2\)라고 하고, \( (a_{i} | a_{j}) \)는 최대 2N이다. \(N^2 - 2KN \)을 최대화 하는 것인데, K의 조건이 min(N, 100)이므로 식은 \(N^2 - 200N \)정도로 볼 수 .. 코드포스 2021.08.01