每个测试文件均包含多组测试数据。第一行输入一个整数 代表数据组数,每组测试数据描述如下:第一行输入一个整数 表示数组 的长度。此后 行,第 行输入两个整数 ,表示 的取值范围。除此之外,保证单个测试文件的 之和不超过 。
对于每组测试数据,新起一行输出一个整数,表示 数组的块数期望值对 取模后的结果。数据保证答案存在,即不会出现逆元不存在的情况。
2 3 1 1 1 2 1 1 5 1 10 2 3 1 1 1 5 5 6
2 798595487
对于第一组测试数据,数组 有 的概率为 ,此时块数为 ;另有 的概率为 此时块数为 ,因此块数的期望为:。对于第二组测试数据,通过枚举所有 种可能情况并计算块数,可以得到块数总和为 ,因此块数的期望为 。我们能够找到,,对 取模后恰好等于分子 ,所以 是需要输出的答案。