测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A5754. 「TJOI2018」教科书般的亵渎

编程题 省选/NOI-
知识点

题目描述

小豆喜欢玩游戏,现在他在玩一个游戏遇到这样的场面,每个怪的血量为 $a_i$ ,且每个怪物血量均不相同, 小豆手里有无限张“亵渎”。
亵渎的效果是对所有的怪造成 $1$ 点伤害,如果有怪死亡,则再次施放该法术。我们认为血量为 $0$ 的怪物死亡。
小豆使用一张“亵渎”会获得一定的分数,分数计算如下,在使用一张“亵渎”之后,每一个被亵渎造成伤害的怪会产生 $x^k$ ,其中 $x$ 是造成伤害前怪的血量为 $x$ 和需要杀死所有怪物所需的“亵渎”的张数 $k$ 。

输入格式

第一行输入一个 $T$ ,表示有多少组测试数据。
每组组测试数据第一行为 $n$ , $m$ ,表示有当前怪物最高的血量 $n$ ,和 $m$ 种没有出现的血量。
接下来 $m$ 行,每行 1 个数 $a_i$ ,表示场上没有血量为 $a_i$ 的怪物。

输出格式

一共 $T$ 行,每行一个数,第 $i$ 行表示第 $i$ 组测试数据中小豆的最后可以获得的分数,因为这个分数会很大需要模 $10^9 + 7$ 。

输入输出样例

输入 #1
2
10 1
5
4 2
1
2
输出 #1
415
135

说明/提示

对于 $10\%$ 的数据,有 $m = 0$ 。
对于 $20\%$ 的数据,有 $m \leq 1$。
对于 $30\%$ 的数据,有 $m \leq 2$。
对于 $40\%$ 的数据,有 $m \leq 3$。
对于 $50\%$ 的数据,有 $m \leq 4$。
对于 $60\%$ 的数据,有 $m \leq 5$。
对于 $100\%$ 的数据,有 $m \leq 50 , n \leq 10^{13}$。
上一题 去做题 下一题