trang chủ / bài tập / picweight

Kỳ vọng trọng số ảnh

Đề bài

Mô tả

Một trang web chứa n bức ảnh. Bức ảnh thứ i có trọng số nguyên dương wi. Mỗi lần có người truy cập, trang web hiển thị đúng một bức ảnh, trong đó xác suất bức ảnh thứ i được chọn bằng

wij=1nwj

tức là tỉ lệ thuận với trọng số của nó.

Mỗi bức ảnh được gắn nhãn ai: nếu ai=1 thì đó là ảnh được yêu thích, nếu ai=0 thì đó là ảnh không được yêu thích. Sau mỗi lần hiển thị, trọng số của bức ảnh vừa được hiển thị thay đổi ngay lập tức: tăng thêm 1 nếu đó là ảnh được yêu thích, và giảm đi 1 nếu đó là ảnh không được yêu thích. Các lần truy cập sau đó dùng bộ trọng số mới này.

Có tất cả m lần truy cập liên tiếp. Với mỗi bức ảnh, hãy tính kỳ vọng trọng số của nó sau khi cả m lần truy cập kết thúc, lấy theo modulo 998244353.

Kỳ vọng trọng số của bức ảnh thứ i luôn viết được dưới dạng phân số qipi với gcd(pi,qi)=1. Bạn cần in ra số nguyên ri duy nhất thoả mãn 0ri<998244353ri·piqi(mod998244353).

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nm: số bức ảnh và số lần truy cập.
  • Dòng thứ hai chứa n số nguyên a1,a2,,an, mỗi số bằng 0 hoặc 1.
  • Dòng thứ ba chứa n số nguyên w1,w2,,wn: trọng số ban đầu của các bức ảnh.

Dữ liệu ra

In ra n số nguyên r1,r2,,rn, mỗi số trên một dòng, là kỳ vọng trọng số của từng bức ảnh theo modulo 998244353.

Ràng buộc

  • 1n50
  • 1m50
  • ai{0,1} và có ít nhất một chỉ số i với ai=1
  • 1wi50

Ví dụ

Input Output Giải thích
1 2
1
1
3 Chỉ có một bức ảnh và nó được yêu thích nên chắc chắn được hiển thị cả 2 lần. Trọng số cuối cùng là 1+2=3.
2 1
0 1
2 1
332748119
332748119
Với xác suất 23 ảnh thứ nhất được hiển thị, trọng số trở thành (1,1); với xác suất 13 ảnh thứ hai được hiển thị, trọng số trở thành (2,2). Cả hai kỳ vọng đều bằng 23·1+13·2=43, và 332748119·34(mod998244353).
3 3
0 1 1
4 3 5
160955686
185138929
974061117
Sau 3 lần truy cập, kỳ vọng trọng số của ảnh không yêu thích giảm còn nhỏ hơn 4, còn hai ảnh yêu thích đều tăng theo cùng một tỉ lệ so với trọng số ban đầu 35.

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