이번에 같이 icpc 팀으로 나갈 solarmagic, lemonade255 ( tlsdydaud1) 님과 같이 팀연습을 했습니다.
장소는 부평역 근처 스터디룸에서 진행했습니다.
# 시작하기전
1호선을 많이 안타봐서.. 내가 탄 열차가 구로역에서 가산디지털방면으로 꺾어버리는 것을 모르고 있었다 ㅋㅋ
그래서 다시 돌아가느라 좀 늦었었고 팀원들에게 미안했었다 ㅠㅠ
살면서 처음 와보는 부평역은 엄청 컸었다. 나중에 한번 놀러와봐야지 ㅎㅎ
# 시작
다 다른 문제를 풀기보다 2~3명에서 같은 문제를 보는 전략을 선택했다.
그래서 나랑 lemonade255 님이랑 같이 G번을 보았고 solarmagic 님이 B번을 보았다.
그런데 G번 해석이 잘 되지 않았고 고민하던 찰라 solarmagic님이 B번을 해석해서 알려주었고 생각해보니 그렇게 어려운 문제인 거 같지 않아서 내가 바로 코딩을 하였다.
대회 시작 첫 코딩이라 그런지 한번만에 예제가 나오지 않았고 lemonade255 님이 H번이 엄청 쉬운 문제라고 하셔서 바로 코딩을 하였고 단번에 AC 를 맞추셨다!
[ 0 : 17 ] H solve
그리고 solarmagic 님이 C번을 읽고 그렇게 어려운 문제가 아니고 순서대로 값이 증가하다가 떨어지는 구간을 세서 판단하면 된다고 하셔서 코드를 짜고 제출 했지만 틀렸었다.
그리고 난 뒤 나도 B번을 코딩하여서 제출 했지만 틀렸었다.
내가 제대로 반례를 찾지 못하고 있었을 때 lemonade255 님이 10의 배수 일 때 문제가 될 수 있다고 하셔서 코드를 조금 고치고 맞추었다.
[ 0 : 48 ] B solve + 1
예제 2번을 조금만 더 생각해봤어도 안 틀리고 좀 더 빨리 맞출 수 있었을텐데 나 자신에게 좀 아쉬웠다 ㅠㅠ
그리고 난 뒤 맞왜틀을 하고 있는 C번을 세 명에서 동시에 보기로 하였다.
생각해보니 반례가 꽤 있을 법한 문제였고 조금만 고치면 맞을 것 같은 문제였다.
그러다가 lemonade255 님이 $ n = 1 $ 일때 반례가 있을 수 있다고 하셔서 그걸 고치니 바로 AC 가 떴다
[ 0 : 57 ] C solve + 4
그리고 난 뒤 solarmagic 님이 J 를 고민하다가 풀 만 할 것 같다고 해서 바로 코딩을 하러 갔고 E 번을 lemonade255님이랑 같이 보았다.
근데 E번도 쉬워보이는 문제여서 바로 풀이가 나왔다.
그래서 난 F번을 보러갔고 Lemonade255 님은 G번을 보러갔다.
그러던 와중 solarmagic 님이 J 를 맞추었다.
[ 1 : 14 ] J solve + 1
그러고 난 뒤 Lemonade255 님이 G번도 풀이가 나왔다고 하셔서 E, G 를 동시에 짜러갔고 나랑 solarmagic님이랑 같이 I 번 문제를 보았다.
난 조금 해메고 있었는데 solarmagic 님이 I 번 풀이가 생각났다고 해서 풀이를 들어보니 맞는 것 같았다.
그리고 난 뒤 F번도 같이 얘기해보았는데 $ n $ 이 1000 이하라는 조건 때문에 쉽게 풀릴 것 같았다.
그러던 와중 lemonade255 님이 E 랑 G 를 AC 맞추셨다.
[ 1 : 24 ] E solve + 1
[ 1 : 40 ] G solve
그리고 난 뒤 나도 I, F 를 코딩하러 갔고 AC 를 받았다.
[ 2 : 01 ] I solve + 1
[ 2 : 16 ] F solve
I 번에서 arr MAX 값을 잘못 설정해서 한번 틀린게 살짝 멘탈에 영향을 주었다.
이런 실수는 최대한 지양해야 한다... ㅠㅠ
그리고 시간이 2시간 44분이 남았고 문제는 A, K, D 가 남았지만 이 시간동안 한 문제도 풀 지 못했다 ㅠㅠ
내가 개인적으로 D번 같은 문제를 극혐해서 K 를 보았고 solarmagic 님이랑 lemonade255 님이 같이 D를 보았다
그러다가 D번 풀이가 나온 것 같아서 solarmagic 님이 D를 짜러가셨고 lemonade255 님이랑 나랑 같이 K 를 보았다.
1번 점을 출발점으로 시작하면 $ dist(a,b) = dist(1,a) $ ^ $ dist(1,b) $ 가 성립한다는 것 까진 도출하였으나 $ dist(1,a) $ 를 구하는 것이 너무 어려웠다.
뭔가 maximization XOR 문제를 응용하면 될 것 같았는데 쉽게 풀리지 않았다.
그러는 와중 solarmagic 님이 D번 디버깅을 도와달라고 하셨고 그때부터 D번을 다 같이 보기 시작하였다.
디버깅을 하다보니 쉽게 풀릴 문제가 아니란 걸 느꼈고 고민이 좀 필요한 문제 같았다.
처음에 솔루션은 이분 탐색으로 접근하는 것이 였는데 이분 탐색으로 접근하면 기울기가 엄청 작을 때 판단이 어렵다는 것을 알게 되었고 다른 풀이 or 이분 탐색 코드를 고치다가 시간이 다 지나가버렸다.
이번 연습이 마지막 A, K, D 를 시간이 엄청 남았는데도 불구하고 못 푼 것이 너무 아쉽긴 해도 이 정도면 되게 잘했다고 생각한다
그리고 팀연습을 지금까지 3번 정도 했는데 제일 퍼포먼스가 좋았던 것 같아서 기분이 좋다 ㅎㅎ
D번은 좀 많이 말렸다고쳐도 A, K 는 순수 실력 부족이라 못 푼거였기 때문에 공부를 더 열심히 해야겠다고 생각이 든다.
'팀연습' 카테고리의 다른 글
2021-05-05 팀연습 (0) | 2021.05.06 |
---|