#HK5377. 「OOI 2022 Day 1」好数组

「OOI 2022 Day 1」好数组

题目描述

题目译自 Open Olympiad in Informatics 2022 Day1 T1 「Хорошие массивы / Good arrays」。

瓦西娅最近刚刚学会了整数整除的概念。受到这一知识的极大启发,他开始研究数组中数字之间整除关系的性质。瓦西娅将一个包含 nn 个正整数的数组 a1,a2,a3,…,ana_1, a_2, a_3, \ldots, a_n 定义为好数组,如果对于任意 ii(从 11 到 n−1n-1),数字 aia_i 都能整除数字 ai+1a_{i+1}。瓦西娅非常喜欢研究好数组,因此他想知道,元素个数为 nn 且所有数字不超过 cc 的好数组一共有多少个。

输入格式

唯一一行包含两个整数 nn 和 cc (1≤n,c≤5⋅107)(1 \leq n, c \leq 5 \cdot 10^{7}),分别表示数组中的数字数量和数组中数字的最大值。

输出格式

输出一个整数,即元素个数为 nn 且所有数字不超过 cc 的好数组的数量。由于结果可能非常大,请将答案对 998244353998244353 取模后输出。

3 3

7

在第一个样例中,符合条件的数组有:(1,1,1)(1, 1, 1)、(2,1,1)(2, 1, 1)、(3,1,1)(3, 1, 1)、(2,2,1)(2, 2, 1)、(3,3,1)(3, 3, 1)、(2,2,2)(2, 2, 2)、(3,3,3)(3, 3, 3)。

2 6

14

在第二个样例中,符合条件的数组有 1414 个: (1,1)(1, 1)、(2,1)(2, 1)、(3,1)(3, 1)、(4,1)(4, 1)、(5,1)(5, 1)、(6,1)(6, 1)、 (2,2)(2, 2)、(4,2)(4, 2)、(6,2)(6, 2)、 (3,3)(3, 3)、(6,3)(6, 3)、 (4,4)(4, 4)、 (5,5)(5, 5)、 (6,6)(6, 6)。

数据范围与提示

详细子任务附加限制及分值如下表所示。其中子任务 00 是样例。

子任务 分值 附加限制 子任务依赖 备注
11 1515 n≤10n \leq 10,c≤10c \leq 10 00
22 1414 n≤1000n \leq 1000,c≤1000c \leq 1000 0,10, 1
33 1212 n≤5000n \leq 5000,c≤5000c \leq 5000 0∼20 \sim 2
44 1616 n≤100000n \leq 100000,c≤100000c \leq 100000 0∼30 \sim 3
55 1414 n≤106n \leq 10^{6},c≤106c \leq 10^{6} 0∼40 \sim 4
66 1515 n≤107n \leq 10^{7},c≤107c \leq 10^{7} 0∼50 \sim 5
77 1414 0∼60 \sim 6