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

Đàn cá mập và những bông hoa

Đề bài

Mô tả

n con cá mập ngồi quanh một chiếc bàn tròn. Với mọi i từ 1 đến n1, cá mập i và cá mập i+1 là hàng xóm của nhau; ngoài ra cá mập n và cá mập 1 cũng là hàng xóm.

Cá mập thứ i sẽ trồng được si bông hoa, trong đó si là một số nguyên được chọn ngẫu nhiên với xác suất như nhau trong đoạn [li,ri]. Các giá trị s1,s2,,sn được chọn độc lập với nhau.

Ông chủ có một số nguyên tố yêu thích là p. Xét từng cặp cá mập hàng xóm ij: nếu tích si·sj chia hết cho p thì ông chủ thưởng 1000 đô la cho mỗi con trong cặp đó, tức là cặp này làm tổng tiền thưởng tăng thêm 2000 đô la. Một con cá mập có thể được thưởng nhiều lần, mỗi lần ứng với một cặp hàng xóm khác nhau mà nó tham gia.

Hãy tính kỳ vọng của tổng số tiền mà cả đàn cá mập nhận được.

Dữ liệu vào

  • Dòng đầu tiên chứa hai số nguyên np: số lượng cá mập và số nguyên tố yêu thích của ông chủ.
  • Dòng thứ i trong n dòng tiếp theo chứa hai số nguyên liri: đoạn giá trị mà si có thể nhận.

Dữ liệu ra

In ra một số thực duy nhất là kỳ vọng của tổng số tiền thưởng. Đáp án được chấp nhận nếu sai số tuyệt đối hoặc sai số tương đối so với đáp án đúng không vượt quá 106.

Ràng buộc

  • 3n105
  • 2p109, p là số nguyên tố
  • 1liri109

Ví dụ

Input Output Giải thích
3 2
1 2
420 421
420420 420421
4500.0000000000 Mỗi đoạn đều chứa đúng một số chẵn trên hai giá trị, nên mỗi cá mập có xác suất 12 trồng được số hoa chia hết cho 2. Với một cặp hàng xóm, tích chia hết cho 2 khi ít nhất một trong hai con chia hết cho 2, xác suất là 112·12=34. Cả bàn tròn có 3 cặp, mỗi cặp đóng góp 2000·34=1500, tổng là 4500.
3 5
1 4
2 3
11 14
0.0000000000 Không đoạn nào trong ba đoạn chứa bội của 5, nên tích của hai con bất kỳ không bao giờ chia hết cho 5 và không ai được thưởng.
3 2
2 2
3 3
4 4
6000.0000000000 Ở đây s=(2,3,4) là xác định. Cả ba cặp (1,2), (2,3)(3,1) đều có tích chia hết cho 2; lưu ý cặp (3,1) tồn tại vì bàn là bàn tròn. Tổng tiền thưởng là 3·2000=6000.

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.400 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0