Equal Sentences

TimeLimit:1000MS  MemoryLimit:524288KB
64-bit integer IO format:%I64d
未提交 | 登录后收藏
Problem Description
Sometimes, changing the order of the words in a sentence doesn't influence understanding. For example, if we change "what time is it", into "what time it is"; or change "orz zhang three ak world final", into "zhang orz three world ak final", the meaning of the whole sentence doesn't change a lot, and most people can also understand the changed sentences well.

Formally, we define a sentence as a sequence of words. Two sentences $S$ and $T$ are almost-equal if the two conditions holds:

1. The multiset of the words in $S$ is the same as the multiset of the words in $T$.
2. For a word $\alpha$, its $i^\mathrm{th}$ occurrence in $S$ and its $i^\mathrm{th}$ occurrence in $T$ have indexes differing no more than $1$. (The $k^\mathrm{th}$ word in the sentence has index $k$.) This holds for all $\alpha$ and $i$, as long as the word $\alpha$ appears at least $i$ times in both sentences.

Please notice that "almost-equal" is not a equivalence relation, unlike its name. That is, if sentences $A$ and $B$ are almost-equal, $B$ and $C$ are almost-equal, it is possible that $A$ and $C$ are not almost-equal.

Zhang3 has a sentence $S$ consisting of $n$ words. She wants to know how many different sentences there are, which are almost-equal to $S$, including $S$ itself. Two sentences are considered different, if and only if there is a number $i$ such that the $i^\mathrm{th}$ word in the two sentences are different. As the answer can be very large, please help her calculate the answer modulo $10^9 + 7$.
Input
The first line of the input gives the number of test cases, $T \; (1 \le T \le 100)$. $T$ test cases follow.

For each test case, the first line contains an integer $n \; (1 \le n \le 10^5)$, the number of words in the sentence.

The second line contains the sentence $S$ consisting of $n$ words separated by spaces. Each word consists of no more than $10$ lowercase English letters.

The sum of $n$ in all test cases doesn't exceed $2 \times 10^5$.
Output
For each test case, print a line with an integer, representing the answer, modulo $10^9 + 7$.
SampleInput
2
6
he he zhou is watching you
13
yi yi si wu yi si yi jiu yi jiu ba yao ling
SampleOutput
8
233
Submit
题目统计信息详细
总AC数3
通过人数3
尝试人数3
总提交量3
AC率100.00%
AC该题后可以添加标签
贴完标签可以获得20ACB。
并且可以获得本题所有提交代码查看权限。
点击标题可以显示标签。
如果你还没认真思考过这题,请不要查看标签
如果您已经通过了该题,请务为该题贴上标签

T^T Online Judge

[BUG反馈] [FAQ] [闽ICP备17026590号-1]
当前版本:3.24 系统时间: