| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1 초 | 1024 MB | 113 | 65 | 39 | 57.353% |
숭실대학교를 다니는 근형이는 고려대학교 동아리 MatKor의 부원으로도 활동하고 있다. 근형이는 MatKor에서 진행하는 <그 유명한 LCS 시리즈 모두 풀어 보기> 세미나를 들었다.
근형이는 문득 평소에 숭실대학교 동아리 SCCC에서 즐기는 수열 만들기 놀이에 LCS를 접목하면 재미있겠다는 생각이 들었다. 수열 만들기 놀이는 다음과 같다. 먼저 양의 정수 $K$를 하나 정하고, 아래 행동을 놀이에 참여하는 $M$명의 부원들이 독립적으로 수행한다.
수열 만들기 놀이가 끝난 후, $M$명의 부원들이 각자 길이 $K$ 이하의 수열을 하나씩 가지게 될 것이다. 이 수열을 $A_1,A_2,\cdots ,A_M$이라고 하자.
근형이는 $\operatorname{LCS}\left( A_1,A_2,\cdots ,A_M \right)$의 길이의 기댓값을 $f\left( K,M \right)$이라 할 때, $f\left( 1,M \right) ,f\left( 2,M \right) ,\cdots ,f\left( N,M \right)$의 값을 모두 알고 싶다. 근형이를 도와 답을 구해보자.
여기서 $\operatorname{LCS}\left( A_1,A_2,\cdots ,A_M \right)$는 모든 $A_i$의 부분 수열 중 가장 긴 공통된 부분 수열을 의미하며, 부분 수열은 주어진 수열에서 순서를 바꾸지 않고 0ドル$개 이상의 원소를 삭제해서 얻을 수 있는 수열을 의미한다.
첫 번째 줄에 양의 정수 $N(1\le N\le 10^6)$과 $M(1\le M\le 10^{18})$이 공백으로 구분되어 주어진다.
첫 번째 줄에 $f\left( 1,M \right) ,f\left( 2,M \right) ,\cdots ,f\left( N,M \right)$의 길이의 기댓값을 각각 10ドル^9+7$로 나눈 나머지를 공백으로 구분하여 출력한다.
기약 분수 $\frac{p}{q}(p\ge 0,q>0,\gcd(p,q) =1)$를 $M$으로 나눈 나머지는 $q^{-1}$가 $q\cdot q^{-1}\equiv 1\pmod M$을 만족하는 정수, 즉 $q$의 $M$에 대한 모듈로 곱셈 역원일 때, $p\cdot q^{-1}\pmod M$로 정의한다. 만약 정수일 경우 $q=q^{-1}=1$이므로 $p\pmod M$를 의미한다.
주어진 조건 내에서 기댓값이 정수 혹은 분모가 10ドル^9+7$의 배수가 아닌 유리수로 나타내어짐을 증명할 수 있다.
| 번호 | 배점 | 제한 |
|---|---|---|
| 1 | 1 | $N=1$ |
| 2 | 22 | $M=1$ |
| 3 | 77 | 추가적인 제한 조건 없음 |
1 1
1
부원은 한 명이다.
종이에 적히는 수열은 반드시 $\left[1\right]$이므로, LCS의 길이는 반드시 1ドル$이다.
2 1
1 500000005
부원은 한 명이다.
$K=1$일 때, 종이에 적히는 수열은 반드시 $\left[1\right]$이므로, LCS의 길이는 반드시 1ドル$이다.
$K=2$일 때, 종이에 적히는 수열은 $\frac{1}{2}$의 확률로 $\left[2\right],ドル $\frac{1}{2}$의 확률로 $\left[1, 2\right]$이므로, LCS의 길이의 기댓값은 $\frac{3}{2}$이다.
10 987654326925925926
1 2 3 4 5 6 7 8 9 10
놀랍게도 이 입력에 대한 답은 1 2 3 4 5 6 7 8 9 10이다.
University > 고려대학교 > MatKor Cup > 제5회 고려대학교 MatKor Cup: 2024 Summer/Fall G번