토벤머리 용사의 스타포스 강화

NYPC 2025 · Round 2-B

토벤머리 용사는 자신이 가장 아끼는 장비 아이템의 스타포스를 강화하던 중 가장 효과적으로 스타포스를 진행하는 방법이 궁금해졌다.

아이템은 00 이상 NN 이하의 정수 값 레벨을 갖는다. 아이템의 초기 레벨은 00이다.

이제 스타포스 강화의 진행 과정을 살펴보자. 레벨 ii (0iN10 \le i \le N - 1)의 아이템을 강화하기 위해서는 먼저 CiC_i의 비용을 지불해야 한다. 이후에는 다음 중 하나의 이벤트가 랜덤하게 발생한다:

  • 0ji10 \le j \le i - 1에 대해, Pi,jP_{i,\, j}의 확률로 강화에 실패하여 레벨이 ii에서 jj로 감소한다.
  • i+1jNi + 1 \le j \le N에 대해, Pi,jP_{i,\, j}의 확률로 강화에 성공하여 레벨이 ii에서 jj로 증가한다.

편의상, Pi,i=0P_{i,\, i} = 0이라고 하자. Pi,0+Pi,1++Pi,N=1P_{i,\, 0} + P_{i,\, 1} + \cdots + P_{i,\, N} = 1이다. 즉, 강화 시에는 위의 NN가지 이벤트 중 정확히 하나의 이벤트가 발생한다.

강화를 시도하기 직전마다 최대 한 개의 하락 방지 쿠폰을 구입할 수 있는데, 이 쿠폰은 사용 직후의 강화에만 적용된다. 레벨 ii (1iN11 \le i \le N - 1)의 아이템을 강화하기 직전 구입할 수 있는 쿠폰은 다음과 같이 ii가지가 있다:

  • 0ji10 \le j \le i - 1에 대해, Di,jD_{i,\, j}의 비용을 지불하여 iji \rightarrow j 하락 방지 쿠폰을 구입할 수 있다. 이 쿠폰은 강화에 실패하여 레벨이 kk로 감소하는 이벤트가 발생할 경우, 아이템의 레벨을 max(k,j+1)\max (k, j + 1)로 바꾼다. 즉, 강화에 실패하더라도 레벨이 jj 이하가 되지 않도록 보장해 준다.

강화 비용과 강화 이벤트의 확률, 쿠폰의 비용, 그리고 목표 레벨 NN이 주어질 때, 최적의 전략을 사용하여 레벨 00의 아이템을 레벨 NN으로 강화하기 위한 비용의 기댓값의 최솟값을 구하시오.

입력 형식

첫 줄에 테스트 케이스의 수를 나타내는 양의 정수 TT가 주어진다. 그다음 줄부터 각 테스트 케이스에 대한 정보가 주어진다.

  • 각 테스트 케이스의 첫 줄에 최대 레벨을 나타내는 정수 NN이 주어진다.
  • 그다음 줄에 강화 비용을 나타내는 NN개의 정수 C0,C1,,CN1C_0, C_1, \cdots, C_{N - 1}이 공백으로 구분되어 차례대로 주어진다.
  • 이어지는 N1N - 1개의 줄의 ii (1iN11 \le i \le N - 1)번째 줄에는 레벨 ii의 강화에서 구입할 수 있는 하락 방지 쿠폰의 가격을 나타내는 ii개의 정수 Di,0,Di,1,,Di,i1D_{i,\, 0}, D_{i,\, 1}, \cdots, D_{i,\, i - 1}이 공백으로 구분되어 차례대로 주어진다.
  • 이어지는 NN개의 줄의 i+1i + 1 (0iN10 \le i \le N - 1)번째 줄에는 레벨 ii의 강화에서 발생하는 이벤트의 확률의 10000001\,000\,000 배의 값을 나타내는 N+1N + 1개의 정수 (1000000×Pi,0),(1000000×Pi,1),,(1000000×Pi,N)(1\,000\,000 \times P_{i,\, 0}), (1\,000\,000 \times P_{i,\, 1}), \cdots, (1\,000\,000 \times P_{i,\, N})이 공백으로 구분되어 차례대로 주어진다.

입력 제한

각 테스트 케이스에서의 NN11 이상 1515 이하이며, 모든 테스트 케이스에서의 NN의 합은 100100 이하이다.

각 테스트 케이스 안에서 모든 00 이상 N1N-1 이하인 ii에 대해,

  • 1C0C1CN110000001 \le C_{0} \le C_1 \le \cdots \le C_{N-1} \le 1\,000\,000
  • 1Di,0Di,1Di,i110000001 \le D_{i,\, 0} \le D_{i,\, 1} \le \cdots \le D_{i,\, i - 1} \le 1\,000\,000
  • Pi,i=0P_{i,\, i} = 0
  • Pi,0+Pi,1++Pi,N=1P_{i,\, 0} + P_{i,\, 1} + \cdots + P_{i,\, N} = 1
  • Pi,0Pi,1Pi,i1P_{i,\, 0} \le P_{i,\, 1} \le \cdots \le P_{i,\, i - 1}
  • Pi,i+1Pi,i+2Pi,NP_{i,\, i + 1} \ge P_{i,\, i + 2} \ge \cdots \ge P_{i,\, N}
  • 13Pi,i+1\dfrac{1}{3} \le P_{i,\, i + 1}

을 만족한다.

출력 형식

각 테스트 케이스마다 한 줄에 하나씩 레벨 00의 장비 아이템을 레벨 NN으로 강화하기 위한 비용의 기댓값의 최솟값을 출력한다.

정답과 상대 오차가 10410^{-4} 이하라면 정답으로 인정된다.

예제 1

입력

1 1 3 0 1000000

출력

3

예제 2

입력

2 2 8 11 4 0 990000 10000 660000 0 340000 2 8 11 5 0 990000 10000 660000 0 340000

출력

51.6764705882 54.5008655511

예제 3

입력

1 3 291 447 992 8703 250915 310205 0 1000000 0 0 287837 0 712163 0 103122 367022 0 529856

출력

3626.412107746

채점 방식

입력 케이스들은 다음과 같은 종류로 구별되며, 한 종류의 케이스를 다 맞혀야 그 종류에 배정된 점수를 받을 수 있다.

종류 1: 5점

N=1N = 1

종류 2: 11점

N2N \le 2

종류 3: 28점

Pi,i+2=Pi,i+3==Pi,N=0P_{i,\, i + 2} = P_{i,\, i + 3} = \cdots = P_{i,\, N} = 0

종류 4: 13점

N5N \le 5

종류 5: 43점

모든 입력 케이스가 주어진다.

해설