AT_fps_24_g.硬貨

普及+/提高

通过率:0%

AC君温馨提醒

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

题目描述

你有无限个面额分别为 1,2,…,M1, 2, \dots, M 日元的硬币。
同一面额的硬币不可区分。

现在给定整数 NN 和 LL。对于每一个 m=1,2,…,M−L+1m=1,2,\dots,M-L+1,请解决以下问题:

  • 你可以自由使用面额为 m,m+1,…,m+L−1m, m+1, \dots, m+L-1 的硬币。
    (严格来说,你可以使用所有满足 m≤x≤m+L−1m \leq x \leq m+L-1 的面额为 xx 的硬币。)
    请你求出用这些硬币凑出恰好 NN 日元的方法数,并对 998244353998244353 取模。

如果存在至少一个面额所用硬币数不同,则两种支付方法被认为是不同的。

输入格式

输入从标准输入按以下格式给出:

NN MM LL

输出格式

输出共 M−L+1M-L+1 行,第 ii 行输出 m=im=i 时的答案。

输入输出样例

  • 输入#1

    5 3 2

    输出#1

    3
    1
  • 输入#2

    5000 2500 2495

    输出#2

    878712345
    520404421
    886134625
    125526485
    307727973
    257205353

说明/提示

样例解释 1

对于 m=1m=1,可用面额为 11 和 22 的硬币,总共有 33 种支付 55 日元的方法:

  • 用 55 枚 11 日元硬币。
  • 用 33 枚 11 日元和 11 枚 22 日元。
  • 用 11 枚 11 日元和 22 枚 22 日元。

对于 m=2m=2,可用面额为 22 和 33 的硬币,总共有 11 种方式:

  • 用 11 枚 22 日元和 11 枚 33 日元。

数据范围

  • 1≤L≤M≤N≤50001 \leq L \leq M \leq N \leq 5000
  • N,M,LN, M, L 均为整数。

由 ChatGPT 5 翻译

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

首页