AT_wtf22_day2_b.The Greatest Two

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定整数 N,KN,K 和一个 11 到 NN 的排列 P=(P1,P2,⋯ ,PN)P=(P_1,P_2,\cdots,P_N)。

你可以进行任意次数(也可以不进行)的如下操作:

  • 选择一个整数 ii(1≤i≤N−K+11\leq i\leq N-K+1)。将 Pi,Pi+1,⋯ ,Pi+K−1P_i,P_{i+1},\cdots,P_{i+K-1} 中第 11 大的元素和第 22 大的元素的值交换。

请你求出经过若干次操作后,可能得到的不同排列的个数,对 998244353998244353 取模。

输入格式

输入以如下格式从标准输入给出。

NN KK P1P_1 P2P_2 ⋯\cdots PNP_N

输出格式

输出答案。

输入输出样例

  • 输入#1

    3 3
    2 3 1

    输出#1

    2
  • 输入#2

    3 2
    1 3 2

    输出#2

    6
  • 输入#3

    10 5
    1 2 3 4 5 6 7 8 9 10

    输出#3

    144
  • 输入#4

    20 5
    8 13 6 11 20 3 12 18 17 4 10 1 7 16 19 5 2 15 14 9

    输出#4

    1451520

说明/提示

限制

  • 2≤K≤N≤2500002\leq K\leq N\leq 250000
  • (P1,P2,⋯ ,PN)(P_1,P_2,\cdots,P_N) 是 11 到 NN 的一个排列。
  • 所有输入的值均为整数。

样例解释 1

在这个例子中,只能进行 i=1i=1 的操作。操作一次后,P1,P2,P3P_1,P_2,P_3 中第 11 大的元素(=P2=3=P_2=3)和第 22 大的元素(=P1=2=P_1=2)交换,得到 P=(3,2,1)P=(3,2,1)。再操作一次,得到 P=(2,3,1)P=(2,3,1)。因此,操作后可能得到的排列有 P=(2,3,1),(3,2,1)P=(2,3,1),(3,2,1) 共 22 种。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页