이번 AI Network Scholarium I 코테에선 한 문제라도 풀면 NFT를 준다고 하는 이벤트가 있었다.

하지만 이번 문제는 아주 어려웠다.

A번을 한시간 넘게 풀었는데 결국 풀지 못했다.

내가 바보인건지 문제가 바보인건지

아무튼 엄청 열이 받았고 회고로 복수해주리라 다짐하며 에디토리엄을 보고 문제를 풀어보았다.

 

🧩 A. On My Way Dorm

https://www.acmicpc.net/problem/27868

글쓰는 날 기준 랭크는 실버로 측정되었다.

 

조금 정리를 해보자면 아래와 같다.

"나"는 엘레베이터를 타고 회사로 출근한다.
엘레베이터는 초고속 슈퍼 하이 테크놀로지🚀 라서 가속력이 부여된다.
일반적인 엘레베이터가 1틱 ±1층이라면 이 엘레베이터는 1틱 v층을 움직일 수 있다
내가 직접 하나의 틱 마다 가속 커맨드(속도증가(+), 속도감소(-), 속도유지(0))를 입력해야 한다.

다행히도 출근 할때의 커맨드는 알고 있다.
그럼 퇴근할때는 어떻게 하지??

답은 당연히 출근 커맨드를 반대로 하면 된다. 매우 쉽다.

 

그럼 왜 틀렸을까?...

문제를 제대로 읽지 못해서 특별한 층으로 퇴근해야 하는 줄 알았다.

허허

🧩 B. aFan Event Planning

https://www.acmicpc.net/problem/27869

이번 문제는 조금만 봐도 구간합 문제인 것을 알 수 있다.

대충 문제를 이렇게 준비할 수 있다.

이벤트의 s일차 부터 e일차까지 꾸준히 매일 게시물을 작성할때 받는 토큰양
일차마다 주는 토큰의 양이 고정되어 있기 때문에 트리같은 것을 쓰지 않고
init: O(n), query: O(1)인 구간합 배열을 쓸 수 있다.

이벤트의 d일차에서 d+1일차로 넘어가는 시점에 초기화 (함정 설치)
이건 다른 의미로 s ~ e 구간에서 게시물을 작성할때 실제 작성되는 s` ~ e를 구하는 것이라고 생각할 수 있다.
s`는 구간 최대 트리(?)로 구할 수 있다.

B부터 풀었으면 진작에 하나 풀었을 것 같다.... ㅡㅡ;

💬 마무리

이후의 문제는 다이아수준에 비견해서 풀지 않겠다.

 

2jun0