코드포스 25

Codeforces Round #824 (Div. 2)

https://codeforces.com/contest/1735 Dashboard - Codeforces Round #824 (Div. 2) - Codeforces codeforces.com 진짜 오랜만에 했다. 그리고 C에서 말렸다. A는 식 하나로 답을 확정 가능했고, B는 문제가 뭐였는지 기억이 나지 않는다. C (01:12) 그리디하게 가장 작은 알파벳부터 확인하고, 사이클이 형성되는지 dfs 등으로 확인을 해주면 된다. 26*26*100000=67600000 이지만, 간선 추가는 26번만 이루어지므로 더 빠르게 동작한다. D (01:33) 두 카드가 고정되면 다른 한 카드는 확정된다. 게다가 카드의 종류가 모두 다르기 때문에 5개의 카드에서 최대 두 쌍의 set이 존재한다. 두 개의 카드를 알 ..

코드포스 2022.10.04

CodeTON Round 2, 그리고 버츄얼 라운드 하나

CodeTON Round 2 -11을 받을 예정이다. 아마도 A b의 첫글자를 제외한 나머지는 a의 맨 뒤에 있어야 한다. 그리고 b의 첫글자는 a의 남은 앞에서 찾으면 된다. B 어떤 구간에서, max - min > 2x 면 불가능한 경우이다. C 나누어지는 구간의 크기를 찾고, 가장 큰 구간부터 먹으면 된다. i번째에서는 size[i] - (4i - 3)만큼 먹을 수 있으니, 이를 ans에 더해주자. 다만, 값이 음수면 그냥 넘어가고, 0이면 1을 더해주면 된다. n - ans가 답이다. D 첫 배열을 강제해보자. operation 1을 거꾸로 해주면서, 투포인터로 처음 배열의 상태를 찾을 수 있다. 이들 중 다른 하나가 operation 2를 사용한 배열이다. 이때 1번 연산의 처음 배열과, 2번 ..

코드포스 2022.08.01

Codeforces Round #810 (Div. 2)

난이도 조절 실패 + 1E 유출 (BOJ 23679에서 볼 수 있다)의 환장의 콜라보... A (00:02) 2, 3, ... , n, 1 B (00:50) m이 짝수면 0이므로 홀수인 경우만 생각해보자. pair 하나를 제거하는 경우는 그냥 세고, pair에 포함되는 사람 하나를 제거(?)하는 경우는, cnt[i]가 홀수인 경우에만 가능하다. C (00:24) 2 이상의 k에 대해, k×N 또는 k×M으로만 자를 수 있다. D (--:--) 봉우리의 값은 O(N)에 구할 수 있다. 여기서 m을 초과하는 것만 봐서, 다른 것들과 합쳐주자. 그렇게 B_i가 i번째에서 빼야 하는 값을 가지도록 하면 된다. P_i와 비교해서 답 여부를 찾아주자. 근데 구현량이 너무 많아서 시간 이슈로 풀지 못했다. 잡소리긴 ..

코드포스 2022.07.25

Codeforces Round #809 (Div. 2)

https://codeforces.com/contest/1706 Dashboard - Codeforces Round #809 (Div. 2) - Codeforces codeforces.com 나는 미국 세터를 진짜 싫어한다. 문제들에서 유사코 맛이 난다... A (00:05) 그리디하게 무조건 앞쪽부터 A로 바꾸면 된다. B (00:16) 타워의 높이를 늘리는 조건은, 그 다음 수의 인덱스가 홀수만큼 떨어져 있는 것이다. C (00:29) N이 홀수일 때는 그냥 구하면 된다. N이 짝수일 때는, 단 한 곳에서만 2칸의 간격이 생기게 된다. 왼쪽 끝에서 1칸씩 띄고 누적 합을 만들고, 오른쪽 끝에서도 똑같이 해주자. \(L_{i} + R_{i + 3}\)의 최솟값이 답이다. D1 (01:10) \(x\)가..

코드포스 2022.07.19

Codeforces Round #806 (Div. 4)

https://codeforces.com/contest/1703 Dashboard - Codeforces Round #806 (Div. 4) - Codeforces codeforces.com 재밌다. D부터 풀이를 쓰도록 하겠다. D (00:38) map을 사용해서 부분 문자열이 존재하는지를 찾으면 된다. E (00:18) 왼쪽 위 사분면에서 확인하면 된다. (a, b)는 (n - b, a), (n - a, n - b), (b, n - a)로 돌아간다. F (00:28) https://www.acmicpc.net/problem/10090 G (00:57) bad key를 사용했다면, 그 이후로는 무조건 bad key만을 사용하는 것이 이득이다. good key를 사용하는 쪽은 prefix sum을 사용하..

코드포스 2022.07.13

Codeforces Round #804 (Div. 2)

https://codeforces.com/contest/1699 Dashboard - Codeforces Round #804 (Div. 2) - Codeforces codeforces.com 2000점은 확정이다. 3솔해도 오렌지 퍼포가 나오다니.. 나쁜 생활 습관으로 인한 역류성 식도염때문에 스트레스가 심해졌다. 진짜 늦어도 2시에는 자야겠다;; A (00:01) 짝수: n/2, n/2, 0 홀수: 불가능 B (00:07) 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0 타일로 채우면 된다. C (00:23) 0, 1의 인덱스로 [L, R] 구간을 잡고 시작하자. 다음 수 k의 인덱스가 구간 [L, R]에 들어온다면, (구간의 크기) - k를 ans에 곱해주 자. k의 인덱스가 구간 밖에 존재..

코드포스 2022.07.05

Codeforces Round #803 (Div. 2)

자다 깨서 비몽사몽했다.. A (00:02) 무지성 O(N^2) B (00:21) k > 1일때는, 어떻게 연산을 하더라도 too tall한 element의 개수가 변하지 않는다. k = 1일때는, \(\lfloor{\frac{(N-1)}{2}}\rfloor\)이 답이다. 원하는대로 추가가 가능하기 때문 C (01:12) 인성 개터진 case work. D (00:46) A의 길이가 홀수인 구간 \([l, r]\)에서, \(l\leq x \leq r\)인 수가 홀수 개 존재한다면, 이 구간 안에 우리가 원하는 답이 존재한다. 이분 탐색을 통해 15(\(

코드포스 2022.06.29

Codeforces Global Round 21 (퍼플 승급!)

퍼플 확정. 그러나 D번을 못 푼 것은 좀 슬프다. A (00:03) z | A_i의 최대를 구하면 된다. B (00:08) 답은 0, 1, 2 중 하나이다. C (00:29) m^p * q 꼴을 p, q의 pair로 묶어서 q가 같은 연속된 구간을 합쳐준다. D (--.--) 업솔빙했다. 1의 위치에서부터, 왼쪽 오른쪽으로 각각 가장 멀리 가주면 된다. E (01:03) D를 보다가 넘어가서 10분만에 풀었다. Hockey-stick identity를 사용하는 문제. E번이 이렇게 쉬울 줄은 몰랐다. DE 둘다 *2000인데 난이도 차이가 꽤 크게 느껴지기도 했고, 내가 D번같은 유형에 정말정말 약하다... 다음은 오렌지.. div. 2 only에서 날먹하면서 올라가면 될 듯?

코드포스 2022.06.26

Codeforces Round #802 (Div. 2)

https://codeforces.com/contest/1700 Dashboard - Codeforces Round #802 (Div. 2) - Codeforces codeforces.com 올라가자.. A (00:02) 오른쪽 끝까지 이동 -> 그대로 아래로 쭉 이동 B (00:15) 앞자리가 9인 경우: 11111111 (자리수 + 1) 앞자리가 9가 아닌 경우: 99999999 C (00:25) 왼쪽부터 진행해도 최적이다. \(A_i\)와 \(A_{i+1}\)의 대소관계에 유의하여 풀면 된다. D (01:10) 열린 파이프의 개수를 k라고 하자. (sum(A) / k)를 올림한 값이 곧 걸리는 시간이다. 이분 탐색이 마려워진다.그러나, 4 1 1 1 1이고, 열린 파이프의 개수가 4인 경우는, 2초..

코드포스 2022.06.19