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

    ID: 11327 远端评测题 1500ms 500MiB 尝试: 1 已通过: 1 难度: 5 上传者: 标签>数论数学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):n8n \le 8
  • Subtask 2(10pts):n11n \le 11
  • Subtask 3(30pts):n100n \le 100
  • Subtask 4(20pts):n400n \le 400
  • Subtask 5(20pts):n4000n \le 4000
  • Subtask 6(10pts):无特殊限制。

对于 100%100\% 的数据满足,1kn5×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. 本题并不难。