CF1461C.Random Events

普及/提高-

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Ron is a happy owner of a permutation aa of length nn.

A permutation of length nn is an array consisting of nn distinct integers from 11 to nn in arbitrary order. For example, [2,3,1,5,4][2,3,1,5,4] is a permutation, but [1,2,2][1,2,2] is not a permutation (22 appears twice in the array) and [1,3,4][1,3,4] is also not a permutation (n=3n=3 but there is 44 in the array).

Ron's permutation is subjected to mm experiments of the following type: (rir_i, pip_i). This means that elements in range [1,ri][1, r_i] (in other words, the prefix of length rir_i) have to be sorted in ascending order with the probability of pip_i. All experiments are performed in the same order in which they are specified in the input data.

As an example, let's take a look at a permutation [4,2,1,5,3][4, 2, 1, 5, 3] and an experiment (3,0.63, 0.6). After such an experiment with the probability of 60%60\% the permutation will assume the form [1,2,4,5,3][1, 2, 4, 5, 3] and with a 40%40\% probability it will remain unchanged.

You have to determine the probability of the permutation becoming completely sorted in ascending order after mm experiments.

罗恩拥有一组长度为 nn 的排列 aa,他为此感到非常开心。

长度为 nn 的排列是指由 11 到 nn 中互不相同的 nn 个整数以任意顺序组成的数组。例如,[2,3,1,5,4][2,3,1,5,4] 是一个排列,但 [1,2,2][1,2,2] 不是排列(数字 22 在数组中出现了两次),[1,3,4][1,3,4] 也不是排列(此时 n=3n=3,但数组中却出现了 44)。

罗恩的排列将依次经历 mm 次实验,每次实验形如 (ri,pi)(r_i, p_i):表示以概率 pip_i 将排列中前 rir_i 个元素(即长度为 rir_i 的前缀)按升序排序。所有实验严格按照输入中给出的顺序执行。

举个例子,考虑排列 [4,2,1,5,3][4, 2, 1, 5, 3] 和一次实验 (3,0.6)(3, 0.6):此次实验将以 60%60\% 的概率使排列变为 [1,2,4,5,3][1, 2, 4, 5, 3],并以 40%40\% 的概率保持不变。

你需要计算:经过全部 mm 次实验后,该排列完全按升序排好(即变为 [1,2,…,n][1,2,\dots,n])的概率。

输入格式

Each test contains one or more test cases. The first line contains the number of test cases tt (1≤t≤1001 \le t \le 100).

The first line of each test case contains two integers nn and mm (1≤n,m≤105)(1 \le n, m \le 10^5) — the length of the permutation and the number of experiments, respectively.

The second line of each test case contains nn integers a1,a2,…,ana_1, a_2, \ldots, a_n (1≤ai≤n)(1 \le a_i \le n) — contents of the permutation.

The following mm lines of each test case each contain an integer rir_i and a real number pip_i (1≤ri≤n,0≤pi≤1)(1 \le r_i \le n, 0 \le p_i \le 1) — the length of the prefix and the probability of it being sorted. All probabilities are given with at most 66 decimal places.

It is guaranteed that the sum of nn and the sum of mm does not exceed 10510^5 (∑n,∑m≤105\sum n, \sum m \le 10^5).

每个测试包含一个或多个测试用例。第一行包含测试用例的数量 tt(1≤t≤1001 \le t \le 100)。

每个测试用例的第一行包含两个整数 nn 和 mm(1≤n,m≤1051 \le n, m \le 10^5),分别表示排列的长度和实验次数。

每个测试用例的第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \ldots, a_n(1≤ai≤n1 \le a_i \le n),表示该排列的内容。

每个测试用例接下来的 mm 行,每行包含一个整数 rir_i 和一个实数 pip_i(1≤ri≤n, 0≤pi≤11 \le r_i \le n,\ 0 \le p_i \le 1),分别表示前缀长度以及该前缀已排序的概率。所有概率均以最多 66 位小数给出。

保证所有测试用例中 nn 的总和与 mm 的总和均不超过 10510^5(即 ∑n,∑m≤105\sum n, \sum m \le 10^5)。

输出格式

For each test case, print a single number — the probability that after all experiments the permutation becomes sorted in ascending order. Your answer will be considered correct if its absolute or relative error does not exceed 10−610^{-6}.

Formally, let your answer be aa, and the jury's answer be bb. Your answer is accepted if and only if ∣a−b∣max⁡(1,∣b∣)≤10−6\frac{|a - b|}{\max{(1, |b|)}} \le 10^{-6}.

对于每个测试用例,输出一个数字——即在所有实验完成后,排列变为升序排列的概率。若你的答案的绝对误差或相对误差不超过 10−610^{-6},则视为正确。

形式化地,设你的答案为 aa,评测机的答案为 bb。当且仅当 ∣a−b∣max⁡(1,∣b∣)≤10−6\frac{|a - b|}{\max{(1, |b|)}} \le 10^{-6} 时,你的答案被接受。

输入输出样例

  • 输入#1

    4
    4 3
    4 3 2 1
    1 0.3
    3 1
    4 0.6
    5 3
    4 2 1 3 5
    3 0.8
    4 0.6
    5 0.3
    6 5
    1 3 2 4 5 6
    4 0.9
    5 0.3
    2 0.4
    6 0.7
    3 0.5
    4 2
    1 2 3 4
    2 0.5
    4 0.1

    输出#1

    0.600000
    0.720000
    0.989500
    1.000000

说明/提示

Explanation of the first test case: It can be demonstrated that whether the final permutation is sorted or not depends solely on sorting being performed in the (4,0.6)(4, 0.6) experiment.

第一个测试用例的说明:可以证明,最终排列是否有序仅取决于在 (4,0.6)(4, 0.6) 实验中是否执行了排序操作。

输入解题思路,AI测评打分。不知道怎么写?

首页