AT_abc418_f [ABC418F] We're teapots
题目描述
有 $N$ 个茶壶排成一排,从左到右编号为 $1$ 到 $N$。
有一个整数序列 $(a_1, \dots, a_N)$,初始时 $a_1 = \dots = a_N = -1$。
你需要将每个茶壶装入茶或咖啡,使得以下所有条件都被满足:
- 对于任意两个相邻的茶壶,至少有一个茶壶装的是茶。
- 对于任意满足 $1 \leq i \leq N$ 的整数 $i$,如果 $a_i \neq -1$,那么编号 $1$ 到 $i$ 的茶壶中恰好有 $a_i$ 个茶壶装的是咖啡。
你将会得到 $Q$ 个操作,请按顺序处理这些操作。
第 $j$ 个操作($1 \leq j \leq Q$)如下:
- 将 $a_{X_j}$ 的值修改为 $Y_j$。然后,输出满足条件的装填茶壶的方法数,对 $998244353$ 取模。
输入格式
输入从标准输入读入,格式如下:
> $N$ $Q$
> $X_1$ $Y_1$
> $\vdots$
> $X_Q$ $Y_Q$
输出格式
输出 $Q$ 行。
第 $j$ 行($1 \leq j \leq Q$)应输出第 $j$ 次操作后满足条件的方法数。
说明/提示
### 样例解释 1
- 第一次操作后,$a = (1, -1, -1, -1, -1)$。满足条件的装填方法共有五种:
- 第 $1$ 个茶壶装咖啡,其余装茶。
- 第 $1, 3$ 个茶壶装咖啡,其余装茶。
- 第 $1, 3, 5$ 个茶壶装咖啡,其余装茶。
- 第 $1, 4$ 个茶壶装咖啡,其余装茶。
- 第 $1, 5$ 个茶壶装咖啡,其余装茶。
- 第二次操作后,$a = (1, -1, -1, 2, -1)$。满足条件的装填方法共有三种:
- 第 $1, 3$ 个茶壶装咖啡,其余装茶。
- 第 $1, 3, 5$ 个茶壶装咖啡,其余装茶。
- 第 $1, 4$ 个茶壶装咖啡,其余装茶。
- 第三次操作后,$a = (0, -1, -1, 2, -1)$。满足条件的装填方法共有一种:
- 第 $2, 4$ 个茶壶装咖啡,其余装茶。
- 第四次操作后,$a = (0, -1, -1, -1, -1)$。满足条件的装填方法共有八种:
- 所有茶壶都装茶。
- 第 $2$ 个茶壶装咖啡,其余装茶。
- 第 $2, 4$ 个茶壶装咖啡,其余装茶。
- 第 $2, 5$ 个茶壶装咖啡,其余装茶。
- 第 $3$ 个茶壶装咖啡,其余装茶。
- 第 $3, 5$ 个茶壶装咖啡,其余装茶。
- 第 $4$ 个茶壶装咖啡,其余装茶。
- 第 $5$ 个茶壶装咖啡,其余装茶。
- 第五次操作后,$a = (0, -1, -1, -1, 1)$。满足条件的装填方法共有四种:
- 第 $2$ 个茶壶装咖啡,其余装茶。
- 第 $3$ 个茶壶装咖啡,其余装茶。
- 第 $4$ 个茶壶装咖啡,其余装茶。
- 第 $5$ 个茶壶装咖啡,其余装茶。
- 第六次操作后,$a = (0, -1, -1, -1, 5)$。满足条件的方法数为零。
### 数据范围
- $2 \leq N \leq 2 \times 10^5$
- $1 \leq Q \leq 2 \times 10^5$
- $1 \leq X_j \leq N$($1 \leq j \leq Q$)
- $-1 \leq Y_j \leq X_j$($1 \leq j \leq Q$)
- 所有输入均为整数。
由 ChatGPT 4.1 翻译