AT_s8pc_3_g.フィボナッチ数の総和

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

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

题目描述

有如下数列:

  • a1=a2=1a_1 = a_2 = 1,ak+2=ak+1+ak (k≥1)a_{k+2} = a_{k+1} + a_k\ (k \ge 1)

E869120 想用这个数列定义新的数列 d1,d2,d3,…,dnd_1, d_2, d_3, \dots, d_n,定义如下:

  • d1,j=ajd_{1, j} = a_j
  • di,j=∑k=1jdi−1,k (i≥2)d_{i, j} = \sum_{k=1}^j d_{i-1, k}\ (i \ge 2)

给定整数 n,mn, m,请你求 dn,md_{n, m} 的值。
由于答案可能非常大,请输出 dn,md_{n, m} 除以 998,244,353998,244,353 的余数。
你能解决这个问题吗?

出题人:square1001

输入格式

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

nmn\quad m

  • 第 1 行包含用空格分隔的两个整数 n,mn, m。

输出格式

  • 输出 dn,md_{n, m} 除以 998,244,353998,244,353 的余数。

输入输出样例

  • 输入#1

    4 7

    输出#1

    176
  • 输入#2

    12 20

    输出#2

    174174144
  • 输入#3

    16 30

    输出#3

    102292850

说明/提示

限制条件

  • 1≤n≤200, ⁣0001 \le n \le 200,\!000
  • 1≤m≤10181 \le m \le 10^{18}

子任务

子任务 1 [100 分]

  • 满足 1≤n,m≤3, ⁣0001 \le n, m \le 3,\!000

子任务 2 [170 分]

  • 满足 1≤m≤200, ⁣0001 \le m \le 200,\!000

子任务 3 [230 分]

  • 满足 1≤n≤31 \le n \le 3

子任务 4 [420 分]

  • 满足 1≤n≤10001 \le n \le 1000

子任务 5 [480 分]

  • 无额外限制

样例解释 1

数列如下所示。

di,1d_{i, 1} di,2d_{i, 2} di,3d_{i, 3} di,4d_{i, 4} di,5d_{i, 5} di,6d_{i, 6} di,7d_{i, 7}
d1d_1 1 1 2 3 5 8 13
d2d_2 1 2 4 7 12 20 33
d3d_3 1 3 7 14 26 46 79
d4d_4 1 4 11 25 51 97 176

因此,d4,7=176d_{4, 7} = 176,这就是答案。

样例解释 3

d16,30=1,193,004,294,685d_{16, 30} = 1,193,004,294,685,所以它除以 998,244,353998,244,353 的余数是 102,292,850102,292,850。

由 ChatGPT 4.1 翻译

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

首页