题⽬背景
虽然你推演的很成功,⼀切也本来很顺利。但是深受教主信任的⻓耳定光仙却突然变卦,偷走了阵眼六 魂幡。诛仙剑的威⼒瞬间下降了⼀个档次。于是截教所有成员被迫参战抵抗阐⼈教联军。
题⽬描述
对于敌⼈的实⼒可以形式化为⼀个⻓度为 $m$ 的序列 $a$,教主告诉你,秉持着杀敌先杀最强的道理,计算敌⼈⼀⽀队伍的战⽃⼒的⽅式是将 $a$ 序列先转化为⼀个同⻓度 $b$序列,即 $b_i=\sideset {} {} \max_{j=1}^i a_j $,然后这⽀队伍的战⽃⼒便是 $b$ 数组中不同的数的个数。由于诛仙阵的严重削弱,导致敌⼈受到诛仙阵的打压之后尚存⼀⽓,每个⾦仙都受到了不同程度的打压。你观察得到现在敌⼈的实⼒为⼀个排列 $p$。但是元始和⽼⼦⼿眼通天,很可能会瞬间将排列变阵出战,并给予⼀定程度上的指数级战⽃⼒加强。所以你要求出 $p$ 的所有⾮空⼦序列的敌⼈出战的战⽃⼒的 次⽅之和。
输⼊格式
第⼀⾏两个正整数 $n,k$。 第⼆⾏ $n$ 个正整数,第 $i$ 个数为 $p$。
输出格式
输出⼀⾏⼀个⾮负整数表⽰答案,答案对 $10^9+7$ 取模。
样例 1 输⼊
3 2
1 3 2
样例 1 输出
16
样例 1 解释
⼦序列 $[1],[3],[2],[3,2]$ 的敌⼈的战⽃⼒是 $1$,$[1,3],[1,2],[1,3,2]$ 的战⽃⼒是 $2$,因此答案是 $4 \times 1^2+3 \times 2^2=16$。
样例 2
数据范围与限制
时间限制 3000ms,空间限制 1024MB。
对于 $100\%$ 的数据,$1 \leq n \leq 10^5,1 \leq k \leq 20,1 \leq p_i \leq n,p_i$ 两两不同。
测试点编号 | $n \leq$ | 特殊性质 |
---|---|---|
1 | $20$ | |
2~3 | $200$ | |
4~5 | $2000$ | |
6~7 | $10^5$ | $k=1$ |
8~10 | $10^5$ |