AT_wtf22_day2_d.Cat Jumps
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个正整数序列 A1,A2,⋯,AN。定义 S=N+∑1≤i≤NAi。
猫 Snuke 拥有 S 张卡片。每张卡片上写有一个整数,分别为 A1,A2,⋯,AN,−1,⋯,−1。特别地,写有 −1 的卡片共有 ∑1≤i≤NAi 张。
Snuke 现在位于数轴上坐标为 0 的位置。接下来,它将进行 S 次如下操作:
- 设 Snuke 当前所在位置的坐标为 x。从持有的卡片中选择一张并丢弃。设丢弃的卡片上的数为 v,则跳跃到坐标为 x+v 的位置。如果跳跃后的坐标为 0,则获得 1 枚硬币。
对于每个 k=1,2,⋯,N,求 Snuke 恰好获得 k 枚硬币的跳跃序列有多少种,结果对 998244353 取模。
注意计数的是跳跃序列。也就是说,如果两张卡片上的数相同,则丢弃它们的操作被视为相同的。
输入格式
输入通过标准输入给出,格式如下:
N
A1 A2 ⋯ AN
输出格式
输出 N 行。第 i 行输出 k=i 时的答案。
输入输出样例
输入#1
2 1 1
输出#1
2 4
输入#2
3 1 2 3
输出#2
140 220 144
输入#3
20 16 6 15 19 1 9 6 1 11 7 6 12 3 11 11 18 10 9 15 5
输出#3
507808441 401798892 110460932 680359166 737048635 442374434 737773176 980506765 473506608 693729211 532774651 621434128 4273369 839437048 585784927 590354055 969740008 825216624 442091194 660636013
说明/提示
约束条件
- 1≤N≤5000
- 1≤Ai≤5000
- 输入的所有值均为整数。
样例解释 1
例如,跳跃序列 (−1,+1,+1,−1) 是可能的。此时,Snuke 的坐标变化为 0→−1→0→1→0,并获得 2 枚硬币。以下是所有可能的跳跃序列及其对应的硬币数量:
- (−1,−1,+1,+1):1 枚
- (−1,+1,−1,+1):2 枚
- (−1,+1,+1,−1):2 枚
- (+1,−1,−1,+1):2 枚
- (+1,−1,+1,−1):2 枚
- (+1,+1,−1,−1):1 枚
翻译由 DeepSeek V3 完成
输入解题思路,AI测评打分。不知道怎么写?