본문 바로가기

팀연습

2021-05-05 팀연습

2021-05-05 1시 한양대 근처 카페에서 진행했습니다.

 

### 시작하기 전

 

원래는 한양대 도서관에서 보기러 했었으나 ( 스터디룸 예약까지 다 했는데.. ) 막상 당일날 가보니 도서관이 닫혀있었다 ㅋㅋ

5월 5일날 예약이 되길래 휴일에도 여는가보다 했었는데 이럴수가.. 그래서 it/bt 관도 가보고 몽쉔도 가보았지만 여는 곳이 없어서 근처 카페를 가게 되었다. ( 대학생들도 어린이! )

 

셋은 jakarta 2020 icpc 셋을 골랐다.

예전 2019를 풀었을 때 셋 퀄리티가 좋았던 것으로 기억해서 고르게 되었다.

 

 

 

# 시작

 

solarmagic 님이 A를 보고 내가 B를 보고 lemonade255 님이 G를 보았다.

 

B를 봤는데 수식이 뭔가 잘못되어있었고 문제가 정확하게 잘 이해가 되지 않았다..

 

그러던 와중 lemonade255 님이 M번으로 넘어갔고 쉽다고 하셔서 바로 코딩에 들어갔다.

 

[ 0 : 15 ] M solve

 

최근 셋 돌때마다 항상 lemonade255 님이 퍼솔을 하는 것 같다 ㅋㅋ

첫 제출이라 그래도 긴장이 될텐데 크... 

 

 

그리고 solarmagic 님이 A번이 뭔가 풀만할 것 같은데 잘모르겠다고 하시고 E로 넘어갔다.

 

E 풀이가 나왔다고 하셔서 코딩으로 넘어갔고 맞추었다!

 

[ 0 : 30 ] E solve + 1

 

나는 내 B번 풀이가 뭔가 좀 미심쩍은 부분도 많았고 한번만에 예제가 나오지 않아서 뭔가 뇌절을 심하게 할 것 같은 느낌이 왔다.

 

그래도 제출을 해보자 해서 제출을 했는데 다행히 한번만에 맞았다 ㅋㅋㅋ

 

[ 0 : 53 ] B solve

 

대충 풀이를 근사화하긴 했지만 사실 정확하게 생각을 하지 않고 짰는데 맞은 거라 운이 좋았다고 할 수 있다.

아무리 연습이라 해도 대충 생각하고 대충 맞은(?) 것 같아 고칠 부분이라고 생각이 든다 ㅠㅠ

 

 

그리고 lemonade255 님이 G번도 알 것 같다고 하셔서 G번으로 넘어갔고 나랑 solarmagic 님이랑은 A, F, C를 고민하기 시작했다.

 

F는 풀이가 빠르게 나왔고 A 는 좀 고민이 필요해보였다.

 

처음에는

$ dp[N1][M1][N2] = maximum\,Andi\,book\,page $

$ N1 = Budi\,book $

$ M1 = Budi\,book\,page $

$ N2 = Andi\,book $ 

이런 식으로 생각하였고 시간복잡도는 대략 $ 10^7 $ 으로 생각했었다.

 

하지만 C는 풀이가 제대로 나오지 않았다.

 

일단 A랑 F를 제출하려고 lemonade255 님의 G 코딩이 끝나기 기다렸는데 뭔가 문제가 생겼는 지 계속 답이 틀렸다고 나왔다.

 

뭔가 시간이 많이 지체될 것 같아서 다 같이 풀이를 듣고 생각해보았지만 난 딱히 떠오르는 게 없었다.

 

그래서 G번을 solarmagic 님이랑 좀더 고민하기로 하였고 난 F번 코딩을 하게 되었다.

 

F번 코딩이 다 끝나갈 때 쯤 lemonade255 님이 G번에서 사소한 실수가 있었다고 하였고 그걸 고치고 맞았다.

 

G번을 맞추고 난 뒤 나도 F번 코딩을 마무리하고 제출해서 맞았다.

 

근데 내가 배열 범위를 잘 못 생각해서 한번 틀렸다 ㅠ

 

[ 2 : 13 ] G solve + 4

[ 2 : 17 ] F solve + 1

 

A번을 바로 코딩하러 들어갔고 거의 다 마무리할 때 쯤 내가 dp 배열을 잘 못 생각했다는 사실을 깨닳았다.

 

Budi 는 점프를 할 수 있기에 어떤 책과 그 페이지를 읽는 시간이 그 책까지 읽는 순서에 따라 tick 이 달라질 수 있다는 사실을 간과했기 때문이다...

 

그래서 좀 고민이 필요했고 그 와중에 lemonade255 님이 solarmagic 님이랑 C 풀이를 생각한 다음 구체화 해서 코딩으로 먼저 들어갔다.

 

단번에 C를 맞추었다!

 

[ 2 : 52 ] C solve

 

난 C 풀이를 생각해보았을 때 생각을 못 했었는데 금방 생각하고 금방 푼 걸 보고 대단하다고 생각했다.

 

C까지 풀리자 난 A를 빨리 풀어야 겠다고 더 생각이 들었고 풀이는 확실하지만 시간복잡도가 좀 애매한... 1초 시간제한에 시간복잡도가 10^8 메모리는 int 배열 10^8 크기인 풀이를 떠올렸다

 

그런데 최대 Budi 가 책을 읽는 시간이 5000 초 정도라고 생각이 들었고 ( 10000초가 아니라 ) 그렇게 짜서 냈는데 메모리 초과가 떴다.

 

그래서 int 를 short 로 바꾸게 냈는데 틀렸습니다.. 그래서 6000 초로도 내보고 8000초로도 내보고 10000초라고도 내보았는데 다 틀렸습니다 ㅠㅠㅠ

 

그러던 와중 내가 간과한 조건이 있어서 그걸 고치고 냈더니 맞았다.

 

너무 막 제출한 것 같아서 팀에게 미안했다 ㅠ

 

[ 3 : 32 ] A solve + 8

 

그렇게 scoreboard 를 봤을 때 남들이 다 푼 문제까지는 푼 것 같았고 scoreboard 상 8~9등 정도되는 등수였다

 

1~2 문제가 절실한 상황..

 

다 같이 J 번을 보았고 너무나도 어려운 문제에 생각나는 풀이가 없었다...

 

세그에다가 직선의 방정식을 넣어야 되나..? min max 값을 찾아서 생각해야 되나..? 여러가지 풀이를 떠올려봤지만 생각나는 풀이가 아예 없었고 오히려 풀린 숫자가 더 적은 K 랑 D 로 넘어가게 되었다.

 

나는 K번을 보았다.

 

열심히 생각을 하던 와중... 풀이가 하나 떠올랐고 그 풀이를 열심히 짜서 냈지만 틀렸다고 떴다.

 

틀릴 이유가 전혀 없는 데.. 틀렸다기에 코드를 디버깅 했지만 이유를 알 수 없었고 생각을 좀 더 해보니 서브 트리에서 업데이트 된 값을 내가 아예 신경을 쓰지 않았다는 것을 발견했다.

 

하지만 시간은 겨우 20분 정도 남아있었고 난 critical 한 오류에 멘붕이 와서 10분을 멍 때려버렸다... ㅠㅠㅠ

 

정신을 차리고 집중을 해보니깐 내가 아까 짰던 풀이와 거의 동일한 방식으로 처리하면 된다고 생각이 들었고 그걸 짜서 냈더니 맞았다 ㅋㅋㅋ

 

[ 5 : 06 ] K solve + 6

 

멘탈만 안 놓았으면 아슬아슬하게 풀었을 거 같은데... 너무 아쉬웠다.

 

그런 뒤 solarmagic 님도 D번을 짰고 맞추었다.

 

[ 5 : 19 ] D solve

 

D번도 나는 아예 감이 안 왔었는데 업솔빙을 해봐야겠다...

 

두 팀만 풀었던데 풀어내는 걸 보고 대단하다고 생각이 들었다.

 

 

이렇게 대회는 마무리 되었다.

 

시간 분배나 실수를 줄였다면 오늘은 9솔이나 할 수 있었던 set 이였고 그랬다면 최소 5등을 할 수 있었기에 아쉬웠다.

 

그래도 매우 잘했다고 생각하며 저번 bapc 때보다 더 발전한 것 같아서 기분이 좋다

 

 

 

 

'팀연습' 카테고리의 다른 글

2021-03-31 팀연습  (0) 2021.04.01