AT_xmascon23_c.Clamp Clamp Clamp

通过率:0%

AC君温馨提醒

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

题目描述

给定正整数 NN,将 (0,1,…,2N)(0, 1, \ldots, 2N) 这 2N+12N+1 个数进行全排列,记排列为 (a0,a1,…,a2N)(a_0, a_1, \ldots, a_{2N}),如果对于所有 i=0,1,…,N−1i = 0, 1, \ldots, N-1,都有 a2i+1<a2i+2a_{2i+1} < a_{2i+2},则该排列属于集合 AA。

对任意 a=(a0,a1,…,a2N)∈Aa = (a_0, a_1, \ldots, a_{2N}) \in A,定义 f(a)f(a) 如下:

  • 令 b0=a0b_0 = a_0。
  • 对于 i=0,1,…,N−1i = 0, 1, \ldots, N-1,令 bi+1=min⁡{max⁡{bi,a2i+1},a2i+2}b_{i+1} = \min\{\max\{b_i, a_{2i+1}\}, a_{2i+2}\}。
  • 定义 f(a)=bNf(a) = b_N。

给定整数 NN,以及 QQ 个整数 Z1,Z2,…,ZQZ_1, Z_2, \ldots, Z_Q。对于每个 j=1,2,…,Qj = 1, 2, \ldots, Q,求出满足 f(a)=Zjf(a) = Z_j 且 a∈Aa \in A 的排列数,对 998244353998244353 取模。

输入格式

输入由标准输入给出,格式如下:

NN QQ Z1Z_1 Z2Z_2 ⋯\cdots ZQZ_Q

输出格式

按 j=1,2,…,Qj = 1, 2, \ldots, Q 的顺序,输出满足 f(a)=Zjf(a) = Z_j 且 a∈Aa \in A 的排列数,各数之间用空格分隔,对 998244353998244353 取模。

输入输出样例

  • 输入#1

    2 5
    0 1 2 3 4

    输出#1

    0 3 24 3 0
  • 输入#2

    3 7
    0 1 2 3 4 5 6

    输出#2

    0 30 96 378 96 30 0
  • 输入#3

    4 9
    0 1 2 3 4 5 6 7 8

    输出#3

    0 630 1800 3870 10080 3870 1800 630 0
  • 输入#4

    7 6
    1 2 3 5 8 13

    输出#4

    97297200 239500800 441579600 78828847 496821247 97297200

说明/提示

样例解释 1

  • 当 a=(2,3,4,0,1),(3,2,4,0,1),(4,2,3,0,1)a = (2, 3, 4, 0, 1), (3, 2, 4, 0, 1), (4, 2, 3, 0, 1) 时,f(a)=1f(a) = 1。
  • 当 a=(0,1,2,3,4),(1,0,2,3,4),(2,0,1,3,4)a = (0, 1, 2, 3, 4), (1, 0, 2, 3, 4), (2, 0, 1, 3, 4) 时,f(a)=3f(a) = 3。
  • 其余 a∈Aa \in A 均有 f(a)=2f(a) = 2。

数据范围

  • 1≤N≤1071 \le N \le 10^7。
  • 1≤Q≤250 0001 \le Q \le 250\,000。
  • 0≤Z1<Z2<⋯<ZQ≤2N0 \le Z_1 < Z_2 < \cdots < Z_Q \le 2N。

由 ChatGPT 5 翻译

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

首页