Gương kỳ diệu với truy vấn

Đề bài

Mô tả

n chiếc gương đánh số từ 1 đến n. Mỗi ngày, một người sẽ hỏi đúng một chiếc gương "Mình có đẹp không?". Gương thứ i sẽ trả lời "đẹp" với xác suất pi100.

Một số gương được đánh dấu là điểm chốt (checkpoint). Ban đầu chỉ có gương 1 là điểm chốt, và gương 1 luôn là điểm chốt.

Người này hỏi các gương theo thứ tự bắt đầu từ gương 1. Mỗi ngày, khi hỏi gương i:

  • Nếu gương i trả lời "đẹp": nếu i=n thì kết thúc; ngược lại ngày hôm sau sẽ hỏi gương i+1.
  • Nếu gương i trả lời "không": ngày hôm sau sẽ bắt đầu lại từ điểm chốt có chỉ số lớn nhất không vượt quá i.

q truy vấn, mỗi truy vấn cho một số nguyên u: nếu gương u hiện chưa phải điểm chốt thì đánh dấu nó là điểm chốt; ngược lại bỏ đánh dấu.

Sau mỗi truy vấn, hãy in ra số ngày kỳ vọng cho đến khi quá trình kết thúc.

Vì kết quả là một số hữu tỉ, hãy in ra theo modulo M=998244353. Nếu kết quả viết được dưới dạng phân số tối giản ab với b0(modM), hãy in ra số nguyên x thỏa 0x<Mx·ba(modM).

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nq.
  • Dòng thứ hai chứa n số nguyên p1,p2,,pn.
  • Mỗi dòng trong q dòng tiếp theo chứa một số nguyên u — truy vấn tương ứng.

Dữ liệu ra

Gồm q dòng, mỗi dòng là đáp án của một truy vấn theo modulo 998244353.

Ràng buộc

  • 2n,q2·105.
  • 1pi100.
  • 2un (gương 1 luôn là điểm chốt, không thể bị bỏ đánh dấu).

Ví dụ

Input Output Giải thích
2 2
50 50
2
2
4
6
Sau truy vấn 1: điểm chốt là {1,2}. Mỗi gương có xác suất "đẹp" là 1/2, kỳ vọng để vượt qua một gương là 2 ngày, tổng là 4.
Sau truy vấn 2: điểm chốt chỉ còn {1}, kỳ vọng để vượt qua 2 gương (khởi động lại từ gương 1 khi thất bại) là 6.
5 5
10 20 30 40 50
2
3
4
5
3
117
665496274
332748143
831870317
499122211
Mỗi truy vấn lần lượt thay đổi tập điểm chốt; các đáp án sau đó được lấy theo modulo 998244353.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0