트리플에스보러 카이스트축제 놀러갔다가 엘마가서친구가사주는칵테일마시고 취했는데 기차에서 노트북으로 코드포스를 켜서 A번을 제출해버리는 실수를 한 후에 -104가 됨

 

A

생략

여담: 사실 2분만에 풀었는데 그때딱 기차가도착해서 기차타서 가방 치우고 노트북폈는데 와이파이연결개억까당해서 9분에제출함

 

B

대충 2개의 bucket을 만들어서, a[i]>a[i+1] 이면 a[i+1]에 k를 무조건 더해야만 하니까 k를 더하는 버킷으로 보내면될거같음 근데 예제가 안도는걸보니 반례가 있는듯

그뒤로 멀미나서 속이안좋아서 살짝 위기를 겪고 노트북덮고 20분정도잤음

.

B업솔빙

왜 못 풀었지 그냥 k를 max(지금까의 max값-a[i])로 고르고 앞에서부터 이 k가 되는지 안되는지를 확인하면 되는거아님?

귀찮아서 코드는나중에짬 (사실 정수론 과제해야됨)

 

C

다행히일어났더니더이상안토할것같아서 c를 봄 짝수면 나눠지고 홀수면 1을 더함

관찰1. 언젠가는 2^n 꼴에 수렴해서 1이 될거고 1→2→1→2→ ... 가 반복됨

관찰2. 그러면 이 경로에 있는 수 중에서 수에 도달하는 스텝수를 계산해서 n개에서 다 나타나면서 스텝수가 최소가 되는 걸 구하면 됨

관찰다했는데 최적화를 제대로 못해서 틀린게개아쉽다 아직 짬이더차야하는듯

.

C업솔빙

관찰1의 '사이클'에서 1로 끝나는 경우랑 2로 끝나는 경우를 나눠서 생각하면 되고

어차피 1 또는 2에서 시작하니까 사이클을 뒤집은다음에 그리디하게 모든 수가 만들어질 수 있을때까지 가면 됨 (페타쌤 풀이를좀참고했어요ㄱㅅㅎㄴㄷ)

예를 들어 예제의 [3, 6, 7, 16, 8, 8, 7]

3: 3 4 2 1 / cost 3, 7: 7 8 4 2 1 / cost 4

뒤집으면

1 2 4 3 6

1 2 4 8 7 이니까 4가 만들 수 있는 최선의 선택

공간이터지진않겠지? n 10^5 * path길이60 * 2 * 4bytes = 4.8*10^7 < 512*10^6 → ok 

 

AC

 

D 업솔빙 → 귀찮아서 나중에함

'cs > ps' 카테고리의 다른 글

2026 PPC 참가 후기  (1) 2026.05.23
back to 2021  (0) 2026.05.18
2026 UDPC (Senior Div.) 후기  (0) 2026.03.28
내가 팀연습이라는 걸 해본다니 (비밀번호: cy4n1de)  (0) 2026.03.09