
오늘은 그래도 나쁘지 않았다. 일단 두 문제 다 한 번에 맞았다는 게 다행. 업솔빙 무조건 하나는 하고 넘어가고 싶었는데, C번은 에디토리얼을 봐도 뭔 소린지 이해도 안 되고, 증명이 제일 중요한 파트인데 이거 대충 읽고 구현한다고 해서 뭐 실력에 도움이 될 것 같지도 않아서 패스. A. Grid game 지워지는 규칙이 단순해서, 그냥 1번 줄에는 1x2, 3번줄에는 2x1을 순서대로 배치하는 걸 반복하면 된다. 한 줄 지워지면 다시 맨 처음으로 돌아가서 배치하는 식. 이렇게 하면 어차피 양쪽 배치의 동작이 독립적이고 무조건 첫줄은 4개 채울 때마다 삭제, 세번째줄은 2개 채울 때마다 삭제 반복이기 때문에 간단하게 풀린다. B. Game with modulo 좀 더 풀이를 빨리 생각할 법도 했는데, 자..

오늘도 대차게 망했다. B는 내가 잘 아는 유형이고 비슷한 문제도 몇 번 풀어봤는데, 풀이를 빠르게 못 떠올린 것 / 자잘한 구현 실수 여러 번 한 것 / 엄밀하게 풀이를 검증하지 못한 것 세 가지의 실수를 저질렀다. 근데 이 세 가지 실수가 버추어 세 번 치는 동안 세 번 내내 다 나왔다.. 미칠 노릇. A는 그럭저럭 잘 푼 것 같은데 B에서 삽질한게 너무 뼈아프다. A. The Beatles 그냥 모든 경우의 수를 다 해주면 된다. 시작점이 a 혹은 k - a 둘 중 하나라고 고정하고 보면, 한 번 이동한 다음에 있을 수 있는 위치는 모든 x * k 에 대해 x * k - b 위치거나 x * k + b 위치거나 둘 중 하나다. 이 각각의 위치에 대해 다시 시작점에서 시계 방향으로 돌거나 반 시계 방향..

unrated된 대회라 등수가 애매하다. 실제 대회였다면 A도 C도 훨씬 많이, 빨리 풀렸을 듯. 이번에도 코딩 미스가 너무 많았다. 풀이도 충분히 빨리 떠올릴 수 있는 문제들을 제대로 못 떠올리고, 모호한 상태에서 구현에 들어가면서 더 많은 실수를 한 것 같다. A. Diana and Liana 간단한 투 포인터로 해결할 수 있는 문제다. 어떤 l 위치에서 l...r이 문제에서 주어진 schematic 조건을 만족하기 위해 제거해야하는 원소 개수를 구하고, 그 중 최소가 되는 것을 출력하면 된다. 간단한 off-by-one 에러, 수식에서의 예외 케이스 처리 등을 제대로 못해서 두 번이나 틀리고 맞았고, 26분이나 걸렸다. 10분 내외로 풀었어야할 문제 같은데 너무 구현 정확도가 떨어졌다는 기분이 든다..

최대한 1일 1 virtual을 도는 걸 목표로 하고 있다. 얼마나 할 수 있을진 모르겠지만.. 대회를 계속 안 쳤더니 너무 감이 떨어져서 최대한 감을 끌어올리기 위해 열심히 하는중. 거하게 조졌다. A도 실제 대회였더라면 systest failed. 어처구니 없는 코딩 실수도 실수고 충분히 풀만한 문제의 풀이도 빠르게 / 정확하게 생각하지 못하게 된 것 같다. 시간 제한이 걸린 상황에서 빡세게 고민해서 푸는 훈련을 좀 많이 해야 할 필요가 있을 것 같다. A. Elections K표 초과를 받는게 목표일 때 그걸 달성하기 위한 최소 비용을 모든 K에 대해 구해주는 것으로도 쉽게 해결할 수 있다. 시간 복잡도는 O(N^2logN). 어처구니 없게도 반복문에서 n을 써야하는데 m을 써서 틀렸고(systes..

와! 다 풀었다! 역시 뭔가 조금 더 생각하면 풀리는 거였는데 생각이 조금 모자라서 못 풀었던 것 같다. 전체적으로 좀 더 빨리 + 정확하게 풀어야하는데 여전히 그게 잘 안 되는 듯. 아래는 이 문제들을 한 방에 못 풀고 2차 시도에서야 풀게 된 이유 정리 A(2100, 26분) 이 문제는 그냥 간단한 케이스 분류 + 구현 문제인데 1-3 연습에서 다른 문제 푸느라 풀 시간이 없어서 못 풀었다. 푸는데 시간이 좀 걸리긴 했지만 꽤 엣지 케이스가 많은 문제인데 한 방에 맞아서 그래도 잘 푼 것 같다. B(2200, 43분) 이 문제는 1-2 연습에서 한참 붙잡았는데 못 풀었던 lazy propagation 문제였다. 그 때 못 풀고 이번에도 또 한참 고생하다 풀었는데, 내가 애초에 식 유도를 좀 잘못했다는..

mashup 기능을 적극적으로 이용해서 트레이닝을 하기로 했다. 방식은 다음과 같다. 1. 코드포스 난이도 기준 2100 - 2200 - 2300 - 2400 4문제를 랜덤하게 뽑아서 구성한 셋을 2시간동안 돈다. 2. 여기서 못 푼 문제는 unsolved set A에 들어간다. 3. unsolved set A에 쌓인 문제가 3개가 되면, 이 문제 3개를 모은 셋을 다시 2시간동안 돈다. 4. 여기서 못 푼 문제는 unsolved set B에 들어간다. 5. unsolved set B에 쌓인 문제가 2개가 되면, 2시간 2문제 셋을 돈다. 6. 여기서 못 푼 문제는 unsolved set C에 들어간다. 7. unsolved set C에 쌓인 문제는 풀이를 보고 푼 뒤 정리하고 넘어간다. 일단 이렇게 진..
mashup 링크: https://codeforces.com/contests/232667 실력을 늘리기 위해 스스로 풀기 어렵다고 느껴지는 난이도의 문제를 시도해야할 것 같아서 코드 포스의 문제 레이팅 기능을 사용하기로 마음먹었다. 이전에 연습해본 바로는 1900~2000대 문제도 풀기가 쉽지 않았고, 그래서 일단 4문제를 1900-2000-2000-2100짜리 문제로 고른 다음 이걸 2시간동안 푸는 연습을 하기로 했다. 4문제를 시간안에 다 풀게 되면 문제 레이팅을 하나씩 높여나가는 식으로 할 예정. 주말에 2셋 정도 돌고 평일에 못 푼 문제 업솔빙을 하면 될 거라고 생각중(좀 더 시간을 쓰고 싶지만 그럴 여유는 없으니...) 두 문제밖에 못 풀 줄 알았는데 다행히도 3문제를 풀어서 생각보다 괜찮은 스..
링크 : http://codeforces.com/contest/961 아직 시스템 테스트가 남긴 했지만 적당히 5문제 잘 풀었다. E번에서 코드 짜다가 갑자기 생각이 이상해져서 패널티를 많이 먹은게 아쉽다. 처음부터 좀 더 정확하게 생각했으면 패널티를 4~50은 덜 받았을텐데.. 그게 좀 아쉽. D번도 그렇고 E번도 그렇고 코드 짜다가 꼬이는 걸 어떻게 좀 해야할텐데 싶다. A. Tetris 그냥 나온 숫자들 중에 제일 횟수 적은 거 출력해주면 된다. B. Lecture Sleep t 값이 1인 건 다 답에 포함시켜놓고, 맨 앞부터 k개 구간을 유지하면서 그 k개 안쪽에 있는 0인 애들을 다 1로 바꿨을 때의 값을 순서대로 구해서 그 중 최댓값을 출력해주면 된다. C. Chessboard 완전 구현 문제..
에듀 코포인데 레이티드라고 해서 부캐로 참가해봤다. 5문제 풀 수 있었을 것 같은데 D번에서 엉뚱하게 실수해서 그거 버그 찾다 결국 찾지도 못하고 3문제 풀고 끝나버렸다 ㅠㅠ 매번 느끼지만 코드를 정확하게 짜고 잘 검증하는 능력이 부족한 것 같다. 예외 케이스를 좀 더 꼼꼼히 생각하고 프로그램의 정당성을 제대로 증명하는 연습을 해야겠다. A. Chess For Three 그냥 문제에서 요구하는 조건에 맞춰서 구현했다. 현재 게임 중인 플레이어 / 관찰중인 플레이어 나눠서 바뀌게 해주고 조건 안 맞으면 틀리게. 4분 8초에 솔브 B. Beautiful Divisors 문제에서 요구하는 divisor 개수가 적어서 그거 그냥 미리 계산해두고 조건 맞춰서 검사해보면 된다. 7분 30초에 솔브 C. Rumor ..