#P7322. 「PMOI-4」排列变换

    ID: 8478 远端评测题 1500ms 500MiB 尝试: 0 已通过: 0 显示难度提高 上传者: 标签>数学O2优化组合数学洛谷月赛

「PMOI-4」排列变换

题目描述

给定常数 kk。对于一个长度为 nn 的排列 aa,定义

$$f(a)=\{\max_{1 \le i \le k} \{a_i\},\max_{2 \le i \le k+1} \{a_i\},\cdots,\max_{n-k+1 \le i \le n} \{a_i\}\}$$

对于一个长度为 nn 的序列 aa,定义其权值 w(a)w(a) 为 aa 中不同的数的个数。

现在,ducati\text{ducati} 想知道,对于所有长度为 nn 的排列 pp,它们的 w(f(p))w(f(p)) 之和。

输入格式

一行两个正整数 n,kn,k。

输出格式

一行一个整数表示答案。

由于答案可能很大,你需要将它对 998244353998244353 取模。

3 2
10
500000 200000
840847204

提示

【样例解释】

  • p={1,2,3}p=\{1,2,3\},f(p)={2,3}f(p)=\{2,3\},则 w(f(p))=2w(f(p))=2。
  • p={1,3,2}p=\{1,3,2\},f(p)={3,3}f(p)=\{3,3\},则 w(f(p))=1w(f(p))=1。
  • p={2,1,3}p=\{2,1,3\},f(p)={2,3}f(p)=\{2,3\},则 w(f(p))=2w(f(p))=2。
  • p={2,3,1}p=\{2,3,1\},f(p)={3,3}f(p)=\{3,3\},则 w(f(p))=1w(f(p))=1。
  • p={3,1,2}p=\{3,1,2\},f(p)={3,2}f(p)=\{3,2\},则 w(f(p))=2w(f(p))=2。
  • p={3,2,1}p=\{3,2,1\},f(p)={3,2}f(p)=\{3,2\},则 w(f(p))=2w(f(p))=2。

答案为 2+1+2+1+2+2=102+1+2+1+2+2=10。

【数据范围】

本题采用捆绑测试。

  • Subtask 1(10pts):n≤8n \le 8。
  • Subtask 2(10pts):n≤11n \le 11。
  • Subtask 3(30pts):n≤100n \le 100。
  • Subtask 4(20pts):n≤400n \le 400。
  • Subtask 5(20pts):n≤4000n \le 4000。
  • Subtask 6(10pts):无特殊限制。

对于 100%100\% 的数据满足,1≤k≤n≤5×1051 \le k \le n \le 5 \times 10^5。

【提示】

  1. pp 是一个长度为 nn 的排列,当且仅当每个在 [1,n][1,n] 中的整数都在 pp 中恰好出现了一次。 例如,{1,5,3,2,4}\{1,5,3,2,4\} 与 {4,2,1,3}\{4,2,1,3\} 分别是长度为 5,45,4 的排列,而 {1,2,2}\{1,2,2\} 不是长度为 33 的排列,{5,4,3,2,1}\{5,4,3,2,1\} 不是长度为 66 的排列,{1.5,3,1}\{1.5,3,1\} 不是长度为 33 的排列。

  2. 本题并不难。