AT_abc428_g.[ABC428G] Necklace

省选/NOI-

通过率:0%

AC君温馨提醒

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

题目描述

有 NN 种类型的珠宝,编号从 11 到 NN。你拥有每种类型无限多个珠宝,同一种类型的珠宝彼此无法区分。
此外,给定一个整数 UU,满足 U≥2U \geq 2。每个珠宝的美丽值为 22 到 UU 之间的整数,编号为 ii 的珠宝的美丽值为 bib_i。

对于每个满足 2≤x≤U2 \leq x \leq U 的整数 xx,令 f(x)f(x) 表示以下问题的答案:

你需要将若干颗珠宝以环状排列,制作成一串项链。
求满足珠宝使用的美丽值之积等于 xx 的项链数,并对 998244353998244353 取模。
这里如果两个项链能通过旋转重合,则它们被视为相同,仅计数一次。但是,如果两个项链只能通过翻转+旋转重合,则视为不同,分别计数。例如:

  • 项链A:顺时针依次排列珠宝 11、22、33 制成的项链。
  • 项链B:顺时针依次排列珠宝 22、33、11 制成的项链。
  • 项链C:顺时针依次排列珠宝 11、33、22 制成的项链。

这里项链A和B被认为是相同项链,只计数一次,而项链A和C被视为不同项链。

计算 f(2),f(3),…,f(U)f(2), f(3), \dots, f(U)。

输入格式

输入从标准输入读入,格式如下:

N U b1 b2 … bNN\ U\ b_1\ b_2\ \dots\ b_N

输出格式

输出 f(2),f(3),…,f(U)f(2), f(3), \dots, f(U),用空格分隔在一行输出。

输入输出样例

  • 输入#1

    4 6
    2 2 3 4

    输出#1

    2 1 4 0 2
  • 输入#2

    4 16
    2 2 2 2

    输出#2

    4 0 10 0 0 0 24 0 0 0 0 0 0 0 70
  • 输入#3

    14 12
    10 2 2 3 8 7 11 6 12 4 9 5 3 2

    输出#3

    3 2 7 1 7 1 15 4 4 1 24

说明/提示

样例解释 1

例如,当 x=4x=4 时,满足条件的项链有以下四种:

  • 用珠宝 1,11, 1 顺时针排列形成的项链。
  • 用珠宝 1,21, 2 顺时针排列形成的项链。
  • 用珠宝 2,22, 2 顺时针排列形成的项链。
  • 仅用珠宝 44 制成的项链。

数据范围

  • 1≤N≤5×1051 \leq N \leq 5 \times 10^5
  • 2≤U≤5×1052 \leq U \leq 5 \times 10^5
  • 2≤bi≤U2 \leq b_i \leq U
  • 所有输入均为整数。

由 ChatGPT 5 翻译

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

首页