canuc80k7100·1/16

Giá Trị Qua Các Điểm

Nộp bài trên LQDOJ

Bài 71 · Lagrange Interpolation

Mọi phép tính trong bài được thực hiện theo modulo .

Cho cặp số , trong đó các đôi một khác nhau. Có duy nhất một đa thức bậc không quá thỏa mãn

với mọi . Hãy tính .

Input

  • Dòng đầu chứa hai số nguyên và .
  • Mỗi dòng trong dòng tiếp theo chứa hai số nguyên .

Output

  • In một số nguyên trong đoạn bằng modulo .

Constraints

  • .
  • .
  • Các giá trị đôi một khác nhau.

Scoring

  • Subtask ( số điểm): .
  • Subtask ( số điểm): Không có giới hạn bổ sung.

Example

Test 1

Input

2 4
1 5
2 7

Output

11

Giải thích: Hai điểm xác định đa thức , vì vậy .

Test 2

Input

3 5
1 2
3 10
5 26

Output

26

Giải thích: Điểm cần hỏi trùng với hoành độ của cặp thứ ba, nên giá trị cần in chính là .

Lời giải tóm tắt
  • Ý tưởng: Với mỗi điểm thứ i, xét đa thức cơ sở
  • Ý tưởng: [ L_i(x)=\prod_{j\ne i}\frac{x-x_j}{x_i-x_j}. ]
  • Ý tưởng: Ta có L_i(x_i)=1 và L_i(x_j)=0 khi j≠i. Vì vậy
  • Ý tưởng: [ f(x)=\sum_{i=1}^{n} y_iL_i(x). ]
  • Ý tưởng: Mẫu số khác 0 modulo 998244353 vì các hoành độ đôi một khác nhau; nghịch đảo được tính bằng định lý Fermat nhỏ. Nếu k trùng một x_i, trả trực tiếp y_i.
  • Ý tưởng: Độ phức tạp là O(n^2+n log MOD) thời gian và O(n) bộ nhớ.