DOJ logoDOJ
문제
최근 추가된 문제들저장한 문제
카테고리DLC대회그룹팀게시판
랭킹
문제 풀이 랭킹스트릭 랭킹DOJ Power 랭킹
현황
문제 제안로그인회원가입
DOJ logoDOJ

OI 서브태스크 채점, Elo 레이팅, Discord 인증을 갖춘 커뮤니티 온라인 저지.

문제
문제 목록카테고리
커뮤니티
대회랭킹게시판공지사항외부 대회 개최이용 안내
계정
로그인회원가입채점 현황
정책
이용약관DLC 이용 규칙개인정보 처리방침API 사용 설명서언어별 채점 환경대회 순위 보상레이팅과 퍼포먼스
© 2026 DOJ
모든 권리 보유
해설

N개의 방

문제로 돌아가기

해설

P=p0+p1+⋯+pNP=p_0+p_1+\cdots+p_NP=p0​+p1​+⋯+pN​라 하자. EiE_iEi​를 과정이 끝나기 전까지 따스가 iii번 방에서 머무르는 시간의 기댓값이라 하고, 편의를 위해 EN+1=0E_{N+1}=0EN+1​=0으로 둔다.

iii번 문을 기준으로 왼쪽에서 오른쪽으로 통과한 횟수를 RiR_iRi​, 오른쪽에서 왼쪽으로 통과한 횟수를 LiL_iLi​라 하자. 따스는 처음에는 ii번 문의 왼쪽에 있고 마지막에는 오른쪽에 있으므로, 모든 시행에서

Ri−Li=1R_i-L_i=1Ri​−Li​=1

이 성립한다.

따스가 iii번 방에 있는 매분마다 iii번 문을 통해 오른쪽으로 이동할 확률은 piP\frac{p_i}{P}Ppi​​이다. 따라서

E[Ri]=EipiP.\mathbb E[R_i]=E_i\frac{p_i}{P}.E[Ri​]=Ei​P

마찬가지로

E[Li]=Ei+1piP.\mathbb E[L_i]=E_{i+1}\frac{p_i}{P}.E[Li​]=Ei+1​P

두 식을 빼면

(Ei−Ei+1)piP=1(E_i-E_{i+1})\frac{p_i}{P}=1(Ei​−Ei+1​)P

이므로

Ei−Ei+1=PpiE_i-E_{i+1}=\frac{P}{p_i}Ei​−Ei+1​=

이다.

이를 iii부터 NNN까지 더하고 EN+1=0E_{N+1}=0EN+1​=0을 이용하면

Ei=P∑k=iN1pkE_i=P\sum_{k=i}^{N}\frac{1}{p_k}Ei​=Pk=i∑N​

를 얻는다.

따라서 모든 pip_ipi​의 모듈러 역원을 구한 뒤, 오른쪽에서 왼쪽으로 역원의 누적합을 관리하면 모든 답을 구할 수 있다.

각 역원을 페르마의 소정리로 따로 계산하면 O(Nlog⁡998244353)O(N\log 998244353)O(Nlog998244353)에 해결할 수 있다. 더 빠르게는 모든 pip_ipi​의 누적곱을 만든 뒤 전체 곱의 역원을 한 번만 구하고 역순으로 진행하는 일괄 역원 계산을 사용하여 O(N+log⁡998244353)O(N+\log 998244353)O(N+에 해결할 수 있다.

Solution written by GPT5.6

i
pi​
​
.
pi​
​
.
pi​
​
=
1
p
i​
P
​
pk​1​
log998244353)