📝

2021년 초반 코드포스 노트

Date
2021/02/01
Tags
PS
Created by
최근에 Codeforces를 다시 하면서 얻게 된 인사이트들을 정리해 두었다.

Codeforces Round #698 (Div. 2)

Naive를 돌릴 수 있는 문제에서는 최대한 Naive를 짜서 원래 내 솔루션과 비교해보려고 할 것.
성급한 일반화는 저지르기 쉽다.
힘 빠지지 말고 무조건 Naive를 짜라.
과거의 영광에 기대려 하지 말 것.
예전의 Peak에 너무 매달리지 말 것. 어차피 예전에도 그만큼 못 했다. 잘 했던 적은 손에 꼽는다.
비겁하게 살지 말 것.
하기로 결정했으면, 시간을 온전히 투자할 것.
체스였다면? 상대가 5분 남기고 "어차피 지겠네 ㅋㅋ" 하면서 나간다면?
"포기할까?" 고민하는 시간이 문제에 집중하는 시간보다 더 많지는 않은가? 나는 지금 문제에 온전히 집중하고 있는가?
문제를 푸는 내가 아니라, 문제 자체에 집중하자.
"왜 나는 이 문제도 못 풀지?" 가 아닌 "왜 이 문제는 안 풀리지?"
풀고 나서 못 푼 문제에 대해 우울한 건 어쩔 수 없다.

Educational Codeforces Round 103 (Rated for Div. 2)

문제에 double 쓰라는 말이 있는 게 아니면, double 사용을 최대한 지양할 것.
실수를 쓴다면, 내 코드에 implicit conversion이 있는지 항상 주의하면서 사용.
"내가 왜 집중하지 못하지?"라는 생각이 들 때가 가장 집중과 멀어져있을 때.
정말 집중한다면 이런 생각조차도 들지 않는다.
120분 집중은 어려운 일이다. 연습해가면서 늘려야 한다.
드는 의문은 전부 다 해소해라.
의문을 믿던가, 의문을 돌파하던가.
모르는 채로 냅두지 말 것.
하나씩 해결해라. 의문이 2개 이상이 되면 힘들다.
의문을 해결한 것과, 의문을 되짚는 것은 다르다. 해결해야, 다음 의문을 확실하게 풀 수 있다.
ceil(a / b) == a / b + (a % b ? 1 : 0) == (a + b - 1) / b floor(a / b) == a / b
C++
복사