본문 바로가기

codeforces4

Codeforces Round #723 (Div. 2) 라운드 당일은 귀찮아서 안했고 버추얼로 했다. C를 못 풀겠어서 2솔하나 싶었는데 한숨 자고 일어나니 풀려서 기분이 좋았다. A. Mean Inequality 연속한 3개 원소가 등차수열이면 안되니까 커졌다 작아졌다 하면 된다. 이 조건을 생각하면서 그냥 숫자들을 막 바꿔보니까 됐다. [0, n-1] 사이 i에 대해 swap(a[2i], a[2i + 1])을 하고 마지막으로 swap(a[0], a[2n - 1])을 하면 된다. B. I Hate 1111 어떻게 해야되는 지 잘 모르겠어서 그냥 무작정 11, 111, 1111, 11111, ...을 11로 나눠봤다. 그랬더니 11, 1111, 111111, ...은 11로 나누어 떨어지고 111, 11111, 1111111, ...은 11로 나눴을 때 나머.. 2021. 6. 1.
Contest 2050 and Codeforces Round #718 (Div. 1 + Div. 2) 오랜만에 퍼포먼스 2000찍고 다시 학교 2등 탈환하나 했는데 헛된 망상이었다...(매우 기뻐하는 현 학교 2등) 숫자가 중복되어서 나타날 수도 있다는걸 망각했다. A. Sum of 2050 우선 2050으로 나누어 떨어지지 않으면 -1 가능한 2050-number 들 중 큰 순서대로 최대한 많이 집어넣으면 되므로 n을 2050으로 나눈 수의 각 자릿수의 합이 답이 된다. B. Morning Jogging 입력으로 들어오는 모든 수들 중 가장 작은 m개의 수를 각 m명의 선수들에게 항상 줄 수 있다. 따라서 정답이 되는 n * m 행렬을 만들었을 때, 숫자들을 잘 정렬해서 m개의 수들이 m개의 열에 각각 오도록 하면 된다. C. Fillomino 2 주대각선의 가장 왼쪽부터 차례로 숫자들을 채워나가면 된.. 2021. 4. 24.
Codeforces Round #716 (Div. 2) c 풀다가 너무 졸려서 잠깐 침대에 누웠더니 아침이 되어 있었다. 하지만 다음 날 다시 풀어봤는데도 못풀겠어서 결국 풀이를 봤다. 그냥 실력대로 본 것 같다. A. Perfectly Imperfect Array 배열 a의 원소들 중 하나라도 완전제곱수가 아니면 yes B. AND 0, Sum Big 전부 and 했을 때 0이 되려면 각 자리마다 적어도 하나는 0이 되게끔 해야한다. 예를 들어 배열의 원소들이 5자리 수라면 0 1 1 1 1 1 0 1 0 1 1 1 1 1 0 1 1 0 1 1 ..... 이런 모양이 되어야 한다. 그리고 수의 범위는 0에서 2^k-1이므로 배열의 원소들은 k자리 이진수로 생각할 수 있고 원소들의 합이 최대가 되게 하려면 0을 최대한 적은 개수로 배치하면 된다. 따라서 k개.. 2021. 4. 24.
Divide by Zero 2021 and Codeforces Round #714 (Div. 2) A. Array and Peaks 가장 peak가 많은 경우는 floor((n-1)/2) 이므로 m이 더 크면 -1 1~n까지 순서대로 들어있는 배열 a를 만든 뒤, k번째 peak를 만들 때 a[(k+1)*2]와 a[(k+1)*2+1]를 교환 하는 방법으로 peak를 m개만큼 만들면 됨 B. AND Sequences 왼쪽 구간 전체를 &한 값 = 오른쪽 구간 전체를 &한 값 = k라고 하면 전체 구간을 &한 값도 k [1, 1], [2, n] 또는 [1, n-1], [n, n] 구간을 이렇게 나눴을 때도 각 구간 전체를 &하면 k이므로 a[1] = a[n] = k 배열 안에서 k가 되는 수의 개수를 x라고 하면 x가 2미만일 때의 답은 0, 2이상이면 답은 x*(x-1)*(n-2)! C. Add One.. 2021. 4. 19.