CF1748E.Yet Another Array Counting Problem

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

The position of the leftmost maximum on the segment [l;r][l; r] of array x=[x1,x2,,xn]x = [x_1, x_2, \ldots, x_n] is the smallest integer ii such that lirl \le i \le r and xi=max(xl,xl+1,,xr)x_i = \max(x_l, x_{l+1}, \ldots, x_r) .

You are given an array a=[a1,a2,,an]a = [a_1, a_2, \ldots, a_n] of length nn . Find the number of integer arrays b=[b1,b2,,bn]b = [b_1, b_2, \ldots, b_n] of length nn that satisfy the following conditions:

  • 1bim1 \le b_i \le m for all 1in1 \le i \le n ;
  • for all pairs of integers 1lrn1 \le l \le r \le n , the position of the leftmost maximum on the segment [l;r][l; r] of the array bb is equal to the position of the leftmost maximum on the segment [l;r][l; r] of the array aa .

Since the answer might be very large, print its remainder modulo 109+710^9+7 .

输入格式

Each test contains multiple test cases. The first line contains a single integer tt ( 1t1031 \le t \le 10^3 ) — the number of test cases.

The first line of each test case contains two integers nn and mm ( 2n,m21052 \le n,m \le 2 \cdot 10^5 , nm106n \cdot m \le 10^6 ).

The second line of each test case contains nn integers a1,a2,,ana_1,a_2,\ldots,a_n ( 1aim1 \le a_i \le m ) — the array aa .

It is guaranteed that the sum of nmn \cdot m over all test cases doesn't exceed 10610^6 .

输出格式

For each test case print one integer — the number of arrays bb that satisfy the conditions from the statement, modulo 109+710^9+7 .

输入输出样例

  • 输入#1

    4
    3 3
    1 3 2
    4 2
    2 2 2 2
    6 9
    6 9 6 9 6 9
    9 100
    10 40 20 20 100 60 80 60 60

    输出#1

    8
    5
    11880
    351025663

说明/提示

In the first test case, the following 88 arrays satisfy the conditions from the statement:

  • [1,2,1][1,2,1] ;
  • [1,2,2][1,2,2] ;
  • [1,3,1][1,3,1] ;
  • [1,3,2][1,3,2] ;
  • [1,3,3][1,3,3] ;
  • [2,3,1][2,3,1] ;
  • [2,3,2][2,3,2] ;
  • [2,3,3][2,3,3] .

In the second test case, the following 55 arrays satisfy the conditions from the statement:

  • [1,1,1,1][1,1,1,1] ;
  • [2,1,1,1][2,1,1,1] ;
  • [2,2,1,1][2,2,1,1] ;
  • [2,2,2,1][2,2,2,1] ;
  • [2,2,2,2][2,2,2,2] .
首页