20200709 T2 括号

题目描述

有一个长度为 $ n $ 的括号序列,以及 $ k $ 种不同的括号. 序列的每个位置上是哪种括号是随机的, 并且已知每个位置上出现每种左右括号的概率.求整个序列是一个合法的括号序列的概率.
我们如下定义合法括号序列:

空序列是合法括号序列;

如果 $ A $ 是合法括号序列,那么 $ lAr $ 是合法括号序列,当且仅当 $ l $ 和 $ r $ 是同种的左右括号;

如果 $ A $ 和 $ B $ 是合法括号序列,那么 (AB) 是合法括号序列.

输入格式

输入第一行包含两个整数 $ n $ 和 $ k $ . 接下来的输入分为 $ n $ 组, 每组 $ k $ 行.第 $ i $ 组第 $ j $ 行包含两个实数 $ l[i,j] $ 和 $ r[i,j] $,分别代表第 $ i $ 个位置上是第 $ j $ 类的左括号和右括号的概率。

输出格式

输出一行,包含一个实数, 代表序列是合法括号序列的概率.
建议保留至少 $ 5 $ 位小数输出.只有当你的输出与标准答案之间的绝对误差不超过 $ 10^{−5} $ 时,才会被判为正确.

样例

1.in

2 1
1.00000 0.00000
0.00000 1.00000

1.out

1.00000

2.in

4 1
0.50000 0.50000
1.00000 0.00000
0.00000 1.00000
0.50000 0.50000

2.out

0.25000

数据范围与约定

对于 $ 20 %$的数据, $ n leqslant 50, k = 1, 所有位置的概率非0即1;$

对于另外 $ 30 %$的数据, $ n leqslant 34,k=1, $ (前10个和后10个位置的所有概率都是 0.5 中间位置的概率非0即1;)

对于 $ 80 %$的数据, $ n, k leqslant 50;$

对于 $ 100 %$的数据, $ n leqslant 100 , k leqslant 50;$

题解

Code

原文地址:https://www.cnblogs.com/poi-bolg-poi/p/13277394.html