AT_abc159_f [ABC159F] Knapsack for All Segments
题目描述
给定一个长度为 $N$ 的整数序列 $A_1, A_2, \ldots, A_N$ 和一个正整数 $S$。
对于所有满足 $1 \leq L \leq R \leq N$ 的整数对 $(L, R)$,定义 $f(L, R)$ 如下:
- $f(L, R)$ 表示满足 $L \leq x_1 < x_2 < \cdots < x_k \leq R$ 且 $A_{x_1} + A_{x_2} + \cdots + A_{x_k} = S$ 的整数序列 $(x_1, x_2, \ldots, x_k)$ 的个数。
请计算所有满足 $1 \leq L \leq R \leq N$ 的整数对 $(L, R)$ 的 $f(L, R)$ 之和。由于答案可能非常大,请输出其对 $998244353$ 取模的结果。
输入格式
输入以如下格式从标准输入读入。
> $N$ $S$ $A_1$ $A_2$ $\ldots$ $A_N$
输出格式
输出所有 $f(L, R)$ 之和对 $998244353$ 取模的结果。
说明/提示
## 限制条件
- 输入均为整数。
- $1 \leq N \leq 3000$
- $1 \leq S \leq 3000$
- $1 \leq A_i \leq 3000$
## 样例解释 1
可以分别计算如下,和为 $5$。
- $f(1,1) = 0$
- $f(1,2) = 1$(仅有 $(1, 2)$ 这一种情况)
- $f(1,3) = 2$($(1, 2)$ 和 $(3)$ 两种情况)
- $f(2,2) = 0$
- $f(2,3) = 1$(仅有 $(3)$ 这一种情况)
- $f(3,3) = 1$(仅有 $(3)$ 这一种情况)
由 ChatGPT 4.1 翻译