AT_KeioPC2025_c.Addictive Addition

通过率:0%

AC君温馨提醒

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

题目描述

给定一个长度为 NN 的正整数列 A=(A1,A2,…,AN)A=(A_1,A_2,\dots,A_N)。对于一个整数列 X=(X1,X2,…,Xl)X=(X_1,X_2,\dots,X_l),用如下方式定义 f(X)f(X):

  • 对于 0≤i≤N0 \le i \le N,定义正整数列 C(i)C^{(i)} 为 (A1,A2,…,Ai,X1,X2,…,Xl,Ai+1,Ai+2,…,AN,i)(A_1,A_2,\dots,A_i,X_1,X_2,\dots,X_l,A_{i+1},A_{i+2},\dots,A_N,\textcolor{red}{\boldsymbol{i}})。在这 N+1N+1 个数列中,选择字典序最小的那一个(可以证明是唯一的),记为 C(k)C^{(k)},则 f(X)=kf(X) = k。

请对于 i=0,1,…,Ni=0,1,\dots,N,解决如下问题:

  • 求所有长度在 11 到 MM 之间且每个元素在 11 到 KK 之间的正整数列 BB 中,满足 f(B)=if(B)=i 的序列个数,并对 998244353998244353 取模。

给定 TT 个测试用例,请分别求解。

什么是数列的字典序?假设 S=(S1,S2,…,S∣S∣)S = (S_1,S_2,\ldots,S_{|S|}),T=(T1,T2,…,T∣T∣)T = (T_1,T_2,\ldots,T_{|T|})。若满足下列 1. 或 2. 中之一,则称 SS 字典序小于 TT。其中 ∣S∣,∣T∣|S|,|T| 表示 S,TS,T 的长度。

  1. ∣S∣<∣T∣|S| < |T| 且 (S1,S2,…,S∣S∣)=(T1,T2,…,T∣S∣)(S_1,S_2,\ldots,S_{|S|}) = (T_1,T_2,\ldots,T_{|S|})。
  2. 存在整数 1≤i≤min⁡{∣S∣,∣T∣}1 \le i \le \min\{|S|,|T|\},使得以下两点都满足:
    • (S1,S2,…,Si−1)=(T1,T2,…,Ti−1)(S_1,S_2,\ldots,S_{i-1}) = (T_1,T_2,\ldots,T_{i-1})
    • SiS_i 比 TiT_i (按数值)小。

输入格式

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

TT case1\mathrm{case}_1 ⋮\vdots caseT\mathrm{case}_T

每个测试用例输入格式如下:

NN MM KK A1 A2 … ANA_1\ A_2\ \dots\ A_N

输出格式

输出 TT 行。第 tt 行请输出对于 caset\mathrm{case}_t,i=0,1,…,Ni=0,1,\dots,N 的答案,按顺序用空格分隔。

输入输出样例

  • 输入#1

    4
    2 1 3
    2 3
    3 2 4
    3 1 2
    5 7 100
    23 38 19 78 97
    12 66621153 962738384
    596076187 241253251 294255618 160313007 362465084 613302073 172378047 202387723 783794852 575378463 266956797 649540193

    输出#1

    2 1 0 
    10 0 0 10 
    166591803 201113277 0 215366213 869870626 294965523 
    742219241 0 0 0 0 357811811 0 0 797772154 0 0 0 896363579

说明/提示

样例解释 1

对于第 11 个测试用例,枚举所有长度为 11,元素在 11 到 33 之间的正整数列 BB,可以得到 C(i)C^{(i)} 如下:

  • B=(1)B=(1) 时,C(0)=(1,2,3,0),C(1)=(2,1,3,1),C(2)=(2,3,1,2)C^{(0)}=(1,2,3,0),C^{(1)}=(2,1,3,1),C^{(2)}=(2,3,1,2),因此 f(B)=0f(B)=0。
  • B=(2)B=(2) 时,C(0)=(2,2,3,0),C(1)=(2,2,3,1),C(2)=(2,3,2,2)C^{(0)}=(2,2,3,0),C^{(1)}=(2,2,3,1),C^{(2)}=(2,3,2,2),因此 f(B)=0f(B)=0。
  • B=(3)B=(3) 时,C(0)=(3,2,3,0),C(1)=(2,3,3,1),C(2)=(2,3,3,2)C^{(0)}=(3,2,3,0),C^{(1)}=(2,3,3,1),C^{(2)}=(2,3,3,2),因此 f(B)=1f(B)=1。

所以对于 i=0,1,2i=0,1,2 的答案分别为 2,1,02,1,0。

数据范围

  • 1≤T≤5×1051 \le T \le 5 \times 10^5
  • 1≤N≤5×1051 \le N \le 5 \times 10^5
  • 1≤M≤1091 \le M \le 10^9
  • 1≤K≤1091 \le K \le 10^9
  • 1≤Ai≤K1 \le A_i \le K
  • 所有测试用例的 NN 之和不超过 5×1055 \times 10^5
  • 所有输入均为整数。

由 ChatGPT 5 翻译

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

首页