题库练习 Counting Haybales--Platinum
← 上一题 下一题 →

A866 | Counting Haybales--Platinum

来源USACO
时间限制1s
内存限制128MB
通过 / 提交0/0

题目描述

As usual, Bessie the cow is causing trouble in Farmer John's barn. FJ has $N$
($1\leq N \leq 5000$) stacks of haybales. For each $i\in [1,N]$, the $i$th
stack has $h_i$ ($1\le h_i\le 10^9$) haybales. Bessie does not want any
haybales to fall, so the only operation she can perform is as follows:
* If two adjacent stacks' heights differ by exactly one, she can move the top haybale of the taller stack to the shorter stack.
How many configurations are obtainable after performing the above operation
finitely many times, modulo $10^9+7$? Two configurations are considered the
same if, for all $i$, the $i$th stack has the same number of haybales in both.

输入格式

The first line contains $T$ ($1\le T\le 10$), the number of independent test
cases, all of which must be solved to solve one input correctly.
Each test case consists of $N$, and then a sequence of $N$ heights. It is
guaranteed that the sum of $N$ over all test cases does not exceed $5000$.

输出格式

Please output $T$ lines, one for each test case.

输入输出样例

输入 #1
7
4
2 2 2 3
4
3 3 1 2
4
5 3 4 2
6
3 3 1 1 2 2
6
1 3 3 4 1 2
6
4 1 2 3 5 4
10
1 5 6 6 6 4 2 3 2 5
输出 #1
4
4
5
15
9
8
19
C++ 编辑器
输入
输出