#P0708. 至少k个ab子序列
至少k个ab子序列
题目描述
给定三个数 。
有一个字符串 ,初始时字符串 是一个空串。
接下来你要进行若干次操作,每次操作:
- 有 的概率往字符串 的末尾添加一个字符
a。 - 有 的往字符串 的末尾添加一个字符
b。
当出现了 个形如 ab 的子序列(不用连续)时停止。
停止时你需要计算字符串 中子序列 ab 的个数。求最终字符串 中子序列 ab 的个数的期望值。
答案对 取模。
具体来说,最终字符串 中子序列 ab 的个数的期望值可以表示成一个分数 (其中 和 互质),你需要输出 的结果。
输入格式
一行,三个整数 ,,,以空格分隔()。
输出格式
输出一个整数,表示答案。
样例
1 1 1
2
3 1 4
370000006
说明/提示
样例解释
在第一个样例中,我们将不断向序列添加内容,直到至少出现一次子序列 'ab'。例如,我们以概率 1/4 得到序列 'ab',以概率 1/16 得到 'bbab',以概率 1/8 得到 'aab'。请注意,我们不可能以 'aabab' 这样的序列结束,因为一旦出现前缀 'aab',我们就会停止算法。
在所有有效序列中,'ab' 出现的期望次数为 2。
对于第二个样例,答案等于 。
数据规模与约定
- 对于 的数据,
- 对于 的数据,
- 对于 的数据,