#P165. 拉格朗日插值

拉格朗日插值

题目描述

这是一道模板题。

维护一个点集 SS,初始时点集为空集。下面依次进行 nn 个操作,操作有两种:

  • 1 x y:向点集中添加点 (x,y)(x, y)。保证点集中 xx 互不相同。
  • 2 k:输出 f(k)mod998244353f(k) \bmod 998244353 的值,其中 f(x)f(x) 是一个次数不超过 S1|S| - 1 次的函数,且经过 SS 中所有的点。

输入格式

第一行,一个整数 nn,表示操作个数。

接下来 nn 行,每行 2233 个整数,描述操作。

数据保证第一个操作必定为 1 类型操作。

输出格式

多行,第 ii 行,一个整数,表示对第 ii2 类型操作要求计算的 f(k)mod998244353f(k) \bmod 998244353 的值。

6
1 2 3
2 5
1 4 7
2 5
1 1 4
2 5
3
9
12

数据范围与提示

对于 100%100\% 的数据,1n3000,1x,y,k<9982443531 \leq n \leq 3000, 1 \leq x, y, k < 998244353,所有 xx 互不相同。

数据有一定梯度。