#P14381. 【MX-S9-T4】「LAOI-16」顽疾

【MX-S9-T4】「LAOI-16」顽疾

题目背景

你怎么像患者的固有资产,催着往事追忆任病情延展。

我用上不眠不休的手段,抵抗梦里你的温暖。

题目描述

在 ChA 的想象世界,每种疾病都有一个代号。比如 Wa1 就患有顽疾 (k,w,t)(k,w,t)

同样地,每种生命体征都有一种代号。Wa1 共测量了 nn 次生命体征,设第 ii1in1 \le i \le n)个测量结果是 aia_i。保存测量结果的文件夹按 aia_i 升序排序。测量结果序列 aa 的风险程度是 i=1n1(ai+1ai+1)t\displaystyle\prod_{i=1}^{n-1} (a_{i+1}-a_{i}+1)^t,记为 g(a)g(a)

定义一个正整数数列 bb 满足顽疾 (k,w,t)(k,w,t) 的特征,当且仅当下列条件均成立:

  1. 对于所有 1in1 \le i \le n,均有 1bik1 \le b_i \le k
  2. 对于所有 1i<n1 \le i < n,均有 bi×bi+1wb_i\times b_{i+1}\le w

定义 f(a)f(a) 为使得 apia_{p_i} 满足以上特征的长为 nn 的排列 pp 的数量。

不幸的是,ChA 完全遗忘了 aa 的内容。你只能初步评估 Wa1 的健康情况为 aAf(a)×g(a)\displaystyle\sum_{a\in A} f(a)\times g(a),其中 AA 为全体满足 i[1,n),aiai+1\forall i\in [1,n),a_i\le a_{i+1} 的序列构成的集合。

为了 Wa1,你需要求出 Wa1 的健康情况。由于这个数可能很大,Wa1 允许你输出对 109+710^9+7 取模的结果。

输入格式

仅一行,四个正整数 n,k,w,tn,k,w,t,含义见题目描述。

输出格式

共一行,一个整数,表示 Wa1 的健康情况对 109+710^9+7 取模的结果。

2 2 3 2
10
3 4 7 2
532
8 15 114 3
979159471
28 39 1024 2
207170535
48 99 7531 1
974278338
47 97 7864 3
916373488
49 996 959418 1
379260530
50 1000 998244 5
979938753

提示

【样例解释 #1】

  • 序列 aa1,1\langle 1,1\rangle 时,贡献为 f(a)×g(a)=2×12=2f(a)\times g(a)=2\times1^2=2
  • 序列 aa1,2\langle 1,2\rangle 时,贡献为 f(a)×g(a)=2×22=8f(a)\times g(a)=2\times2^2=8
  • 序列 aa2,2\langle 2,2\rangle 时,贡献为 f(a)×g(a)=0×12=0f(a)\times g(a)=0\times1^2=0

其他序列显然 f(a)=0f(a)=0,答案为 2+8+0=102+8+0=10

【样例解释 #2】

该样例满足测试点 131\sim 3 的约束条件。

【样例解释 #3】

该样例满足测试点 474\sim 7 的约束条件。

【样例解释 #4】

该样例满足测试点 8158\sim 15 的约束条件。

【样例解释 #5】

该样例满足测试点 162016\sim 20 的约束条件。

【样例解释 #6】

该样例满足测试点 213021\sim 30 的约束条件。

【样例解释 #7】

该样例满足测试点 313531\sim 35 的约束条件。

【样例解释 #8】

该样例满足测试点 365036\sim 50 的约束条件。

【数据范围】

本题共 5050 个测试点,每个 22 分。

对于所有测试数据,保证:

  • 1n501\le n\le 50
  • 1k10001\le k\le 1000
  • 1wk21\le w\le k^2
  • 1t51\le t\le 5

::cute-table{tuack} |测试点编号|nn \le|kk \le|tt \le| |:--:|:--:|:--:|:--:| |131\sim 3|88|88|55| |474\sim 7|^|1616|^| |8158\sim 15|3030|4040|^| |162016\sim 20|5050|100100|11| |213021\sim 30|^|^|33| |313531\sim 35|^|10001000|11| |365036\sim 50|^|^|55|