loj#P562. 「LibreOJ Round #9」Tangjz 的背包

「LibreOJ Round #9」Tangjz 的背包

题目描述

你有 nn 个候选物品,你想要从中选出 mm 个物品放进体积为 vv 的背包里。

在选择物品时,你发现这些候选物品的体积分别为 1,2,,n1, 2, \cdots, n,于是你想知道有多少种选法可以恰好将体积为 vv 的背包填满。

注意,两种选法不同当且仅当存在至少一个候选物品只在某一种选法中被选择。

为了便于输出,我们假设从这样的 nn 个候选物品里选出 mm 个物品填满体积为 vv 的背包有 f(v)f(v) 种选法,并令 pp 为使得 f(p)f(p) 不为 00 的最大正整数,你只需要输出 $\left(\sum\limits_{v = 1}^{p}{{19190506}^{p - v} f(v)}\right) \bmod 998244353$ 的值即可。显而易见的是当 1mn1 \leq m \leq n 时一定存在这样的 pp

输入格式

第一行包含一个正整数 TT,表示有 TT 组测试数据。

接下来依次给出每组测试数据,每组测试数据仅两行,包含两个正整数 nnmm,含义如题目所示。

输出格式

对于每组测试数据,输出一行,包含一个整数,表示题目中要求输出的值。

1
3 2
238284724
1
4 2
186699913

数据范围与提示

对于所有数据,1T5×105,1 \leq T \leq 5 \times 10^5, 1mn10121 \leq m \leq n \leq 10^{12}

子任务编号 分值 nn\leq 特殊限制
1 1010 50005000
2 3535 5000050000 不同的 nn 至多有 1010
3 2020 10610^6
4 3535 101210^{12}