AT_abc405_g [ABC405G] Range Shuffle Query
题目描述
给你一个长为 $N$ 的数列 $A=(A_1,A_2,\cdots,A_N)$,你要回答 $Q$ 个询问。
每个询问有三个参数 $(L_i,R_i,X_i)$,你需要回答:
令 $B=(A_{L_i},A_{L_i+1},\cdots,A_{R_i})$,删除 $B$ 中 $\ge X_i$ 的所有元素后,通过重新排列 $B$ 的元素可以形成多少种不同的 $B$?
答案对 $998244353$ 取模。
输入格式
第一行两个整数 $N,Q(1\le N,Q\le 2.5\times 10^5)$。\
第二行 $N$ 个整数 $A_1,A_2,\cdots,A_N(1\le A_i\le N)$。\
之后 $Q$ 行,每行三个整数 $L_i,R_i,X_i(1\le L_i\le R_i\le N,1\le X_i\le N)$,表示一次询问。
输出格式
输出 $Q$ 行,每行一个整数,依次回答每个询问,答案对 $998244353$ 取模。
说明/提示
**样例 1 解释**
对于第一个询问,$B$ 的三种可能分别为:$B=(1,1,2),B=(1,2,1),B=(2,1,1)$。\
对于第二个询问,$B$ 的唯一可能为空串。
By @[chenxi2009](/user/1020063)