Codeforces Round 309 (Div. 1)
E
Kyoya and Train
Codeforces
3200
原题
← D→
翻译中…

Kyoya Ootori wants to take the train to get to school. There are $*n*$ train stations and $*m*$ one-way train lines going between various stations. Kyoya is currently at train station $1$, and the school is at station $*n*$. To take a train, he must pay for a ticket, and the train also takes a certain amount of time. However, the trains are not perfect and take random amounts of time to arrive at their destination. If Kyoya arrives at school strictly after $*t*$ time units, he will have to pay a fine of $*x*$.

翻译中…

Each train line is described by a ticket price, and a probability distribution on the time the train takes. More formally, train line $*i*$ has ticket cost $*c*_{*i*}$, and a probability distribution $*p*_{*i*, *k*}$ which denotes the probability that this train will take $*k*$ time units for all $1 ≤ *k* ≤ *t*$. Amounts of time that each of the trains used by Kyouya takes are mutually independent random values (moreover, if Kyoya travels along the same train more than once, it is possible for the train to take different amounts of time and those amounts are also independent one from another).

翻译中…

Kyoya wants to get to school by spending the least amount of money in expectation (for the ticket price plus possible fine for being late). Of course, Kyoya has an optimal plan for how to get to school, and every time he arrives at a train station, he may recalculate his plan based on how much time he has remaining. What is the expected cost that Kyoya will pay to get to school if he moves optimally?

翻译中…

Input

翻译中…

The first line of input contains four integers $*n*, *m*, *t*, *x*$ ($2  ≤  *n*  ≤ 50$, $1 ≤ *m* ≤ 100$, $1 ≤ *t* ≤ 20 000$, $0 ≤ *x* ≤ 10^{6}$).

翻译中…

The next $2*m*$ lines contain the description of the trains.

翻译中…

The $2*i*$-th line will have $3$ integers $*a*_{*i*}, *b*_{*i*}, *c*_{*i*}$, representing a one way train from station $*a*_{*i*}$ to $*b*_{*i*}$ with ticket cost $*c*_{*i*}$ ($1 ≤ *a*_{*i*}, *b*_{*i*} ≤ *n*$, $*a*_{*i*} ≠ *b*_{*i*}$, $0 ≤ *c*_{*i*} ≤ 10^{6}$). There will always be at least one path from any station to the school.

翻译中…

The $(2*i* + 1)$-th line will contain $*t*$ integers, $*p*_{*i*, 1}, *p*_{*i*, 2}, ..., *p*_{*i*, *t*}$ where $*p*_{*i*, *k*} / 100000$ is the probability that this train will take $*k*$ units of time to traverse ($0 ≤ *p*_{*i*, *k*} ≤ 100 000$ for $1 ≤ *k* ≤ *t*$, image).

翻译中…

It is guaranteed that there is no more than one train between each pair of platforms in each of the directions.

翻译中…

Output

翻译中…

Print a single real number that is equal to an optimal expected cost of getting to school. The answer will be considered correct if its relative or absolute error doesn't exceed $10^{ - 6}$.

翻译中…

Note

翻译中…

The optimal strategy in the first case is as follows:

翻译中…

First, travel along first train line. With probability $1 / 2$ Kyoya will take $1$ time unit. Otherwise, Kyoya will take $3$ time units.

翻译中…

If the train takes $1$ time unit, travel along the 4th train line. Kyoya will make it to school in time with probability $1 / 2$. Otherwise, if the train takes 3 time units, travel along the 2nd train line. Kyoya will make it to school in time with probability $1 / 10$.

翻译中…

Since the cost of all train lines are zero, we can just look at the probability that Kyoya will incur the penalty. The probability that Kyoya will have to pay the penalty is $1 / 2 × 1 / 2 + 1 / 2 × 9 / 10 = 7 / 10$. We can show that no other strategy is strictly better.

翻译中…

The optimal strategy in the second case is to travel along $1 → 2 → 4$ no matter what. Kyoya will incur the penalty with probability $3 / 4$, and the cost of the trains is $200$, thus the expected cost is $200.75$.

翻译中…

样例

Input #1
4 4 5 1
1 2 0
50000 0 50000 0 0
2 3 0
10000 0 0 0 90000
3 4 0
100000 0 0 0 0
2 4 0
0 0 0 50000 50000
Output #1
0.7000000000
InputCopy OutputCopy
Input #2
4 4 5 1
1 2 100
50000 0 50000 0 0
2 3 100
10000 0 0 0 90000
3 4 100
100000 0 0 0 0
2 4 100
0 0 0 50000 50000
Output #2
200.7500000000
InputCopy OutputCopy
题目信息
题号
553E
时间限制
8 s
内存限制
512 MB
标签
动态规划
FFT
图论
数学
概率论

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。