P13349 「ZYZ 2025」自然数序列

题目描述

给定长度为 $n$ 的**正整数**序列 $a$,有 $q$ 次询问。对于每次询问,给出 $l,r,k$ 和 $k$ 个限制条件,求有多少个长度为 $n$ 的**自然数**序列 $b$ 满足 $l\le\sum\limits_{i=1}^na_ib_i\le r$ 且满足这 $k$ 个限制条件,对 $998244353$ 取模。 对于每个限制条件,给出 $x,y$,要求 $b_x=y$。 我们称两个长度为 $n$ 的序列 $b,b'$ 是不同的,当且仅当存在不超过 $n$ 的正整数 $i$ 满足 $b_i\not=b_i'$。

输入格式

输入的第一行包含两个正整数 $n,q$。 第二行包含 $n$ 个正整数 $a_1,a_2,\cdots,a_n$。 接下来有 $q$ 次询问,对于每一次询问: 第一行包含三个非负整数 $l,r,k$。 接下来 $k$ 行,每行两个非负整数 $x,y$,代表一条限制条件。

输出格式

对于每一次询问,输出一行一个整数,表示对应的答案。

说明/提示

**【样例解释】** 对于第一次询问,有以下 $4$ 个序列 $b$ 符合条件:$\{0,0,0,2\},\{0,1,0,0\},\{5,0,0,1\},\{10,0,0,0\}$。 序列 $\{3,0,1,1\}$ 不符合条件,因为不满足限制 $b_3=0$;序列 $\{1,1,1,1\}$ 不符合条件,因为不满足 $\sum\limits_{i=1}^na_ib_i=10$。 **【数据范围】** **本题采用捆绑测试。** |子任务编号|特殊性质|分值| |:-:|:-:|:-:| |$0$|$n,l,r,q\le8$|$10$| |$1$|$n,l,r,q\le100$|$15$| |$2$|$k=1$ 且 $l=r$|$25$| |$3$|$l=r$|$25$| |$4$|无|$25$| 对于所有的测试数据,保证:$0\le l,r,y\le5\times10^3$,$1\le n,a_i\le 5\times10^3$,$1\le q\le 5\times 10^4$,$0\le k\le8$,$1\le x\le n$。对于一次询问,保证每一条限制的 $x$ 互不相同。