코딩/codeforces 정리글

#574 (Div.2 only)

stonejjun 2019. 7. 20. 12:45

다른 짓을 하다가 미리 세팅을 해놓지 못했다. 사실 다른 세팅은 다해놓고, codeblocks 컴파일 한번 안 해놓고, 변수 설정 조금 덜 해놓은 정도? 사실 그거보다 전날부터 노트북에 블루스크린이 떠서 불안한 마음으로 시작했다..

A.Drinks Choosing 

-각 음료를 좋아하는 사람이 홀수인지 짝수인지를 세면 바로 해결되는 매우 간단한 counting문제이다. 딱 A느낌이었다. 하지만, 이번에 대체적으로 모두가 느렸으며, 나도 7분컷이었다. 해석하기가 어려웠으며, 특히 A는  note를 참고해서 푸는데, note의 설명도 굉장히 알아듣기 어려웠다. 아쉬움이 남는다. 00:07

B.Sport Mafia

-총 행동 횟수와 최종 사탕 갯수가 주어진다. 행동은 1.+n을 하거나 2. -1을 하는 것인데, n은 1번 행동을 할때마다 계속 1씩 증가한다. 수의 범위상 1번행동의 최대 횟수는 10^8정도일 것이라고 생각하여, 그냥 다 해보았다. 조금 불안했지만 딱히 어려움은 없었고, 시간이 느렸던것은 조금 아쉬웠다. 00:14

C.Basketball Exercise

-딱보자마자 드는 생각 just dp 무조건 빠르게 잡아야 하는 문제 이런형식의 dp는 너무 많이 풀어봐서 바로 보였다. 둘다 선택 안했을 때, 윗 줄을 선택했을때, 아랫줄을 선택했을 때의 세가지 경우로 나누어서 쭉 하면 된다. 하는데... F9를 눌러 컴파일 하는 순간 블루스크린이 떴다... 멘탈을 터지고 코딩했던 것도 다 날라가고... 켜지는데 시간도 오래걸려서 미치는 줄 알았다. 원래는 약 4분정도 걸려서 00:18정도 될뻔 했지만 00:26...  사실상 여기서 손해 엄청 봤다.

D1.Submarine in the Rybinsk Sea (easy edition)

멘탈 터져서 D2 바로 볼 생각도 못했다. 약간의 수학. 각 자릿수의 숫자가 다른 숫자와 연산되어 어느 자릿수에 쓰이게 되는지를 보면 된다. 23456이란 숫자가 있으면 2233445566이런식으로 바꿔주고 입력받은 수의 갯수만큼 곱해준뒤 모두 더하면 끝. 인데 노트북에서 블루스크린 한 번 더 터졌다. 멘탈도 같이 터지고 00:40

D2.Submarine in the Rybinsk Sea (hard edition)

E는 해석도 안되고, 그냥 하는문제라서 사실상 최종문제. D1이랑 비슷한 느낌인데 숫자별로 자릿수가 다르다. abc,def 로 연산하면 a는 만의자리 10만의 자리에 쓰여지지만, abc,d 를 연산하면 a는 100의자리 1000의자리에 쓰인다. 눈치 챘을 수도 있겠지만, 작은 자릿수+그 숫자의 자릿수를 하면 된다. 이를 편하게 하기 위해 정렬을 하면, ai를 볼때 k>=i인 ak에 대해서는 d1과 똑같이 처리해주면 된다. 좋은 문제였다고 생각한다. 다만 뇌절이 와서 +1,-1자릿수가 미친듯이 헷갈렸다. 시간은 01:23

전체적으로 아쉬웠다. 블루스크린 때문이 아니더라도 속도가 조금 느려진모습이다. 원래 코딩속도는 좀 느려도 바로 풀이를 캐치하는 문제가 있었는데 그러지도 못했다. 결과는 +33 노트북이 원망스럽지만 다음을 기약하려한다.

'코딩 > codeforces 정리글' 카테고리의 다른 글

Codeforces Round #670 (Div. 2 only)  (7) 2020.09.13
Codeforces Round #648 (Div. 2)  (2) 2020.06.08
Educational Codeforces Round 77  (0) 2019.11.28
Codeforces Global Round 4  (0) 2019.07.26