Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Xác suất - Thống kê] Mô phỏng Monte Carlo: ước lượng diện tích hình elip

    Phương pháp hit-or-miss dùng Monte Carlo để ước lượng diện tích một miền phẳng: rải nnn điểm trong một hình chữ nhật bao quanh miền, đếm số điểm rơi vào miền, rồi nhân tỉ lệ đó với diện tích hình chữ nhật.

    Cho hình chữ nhật [−p,p]×[−q,q][-p,p]\times[-q,q][−p,p]×[−q,q] và elip x2p2+y2q2≤1\dfrac{x^2}{p^2}+\dfrac{y^2}{q^2} \le 1p2x2​+q2y2​≤1 nằm gọn bên trong. Cho sẵn tọa độ nnn điểm (xi,yi)(x_i, y_i)(xi​,yi​) trong hình chữ nhật (không cần sinh ngẫu nhiên). Gọi kkk là số điểm thỏa xi2p2+yi2q2≤1\dfrac{x_i^2}{p^2}+\dfrac{y_i^2}{q^2} \le 1p2xi2​​+q2yi2​​≤1 (nằm trong hoặc trên biên elip). Ước lượng Monte Carlo của diện tích elip là:

    S^=kn⋅4pq\widehat{S} = \dfrac{k}{n}\cdot 4pqS=nk​⋅4pq

    Diện tích thực của elip là S=πpqS = \pi p qS=πpq. Hãy in ra S^\widehat SS, SSS, và sai số tuyệt đối ∣S^−S∣|\widehat S - S|∣S−S∣.

    Quy ước: nếu n=0n=0n=0, quy định S^=0\widehat S = 0S=0.

    Ví dụ: p=q=1p=q=1p=q=1 (đường tròn đơn vị), n=4n=4n=4 điểm (0,0) (2,2) (0.5,0.5) (-2,0): có 2 điểm trong hình tròn (0,0)(0,0)(0,0) và (0.5,0.5)(0.5,0.5)(0.5,0.5), nên S^=2/4⋅4=2.000000\widehat S = 2/4 \cdot 4 = 2.000000S=2/4⋅4=2.000000, S=π≈3.141593S = \pi \approx 3.141593S=π≈3.141593, sai số ≈1.141593\approx 1.141593≈1.141593.

    • Định dạng đầu vào:

      Dòng 1: hai số thực p,q>0p, q > 0p,q>0 và số nguyên nnn (0≤n≤1040 \le n \le 10^40≤n≤104), cách nhau bởi khoảng trắng. nnn dòng tiếp theo, mỗi dòng gồm hai số thực xi yix_i\ y_ixi​ yi​ (−p≤xi≤p-p \le x_i \le p−p≤xi​≤p, −q≤yi≤q-q \le y_i \le q−q≤yi​≤q).

    • Định dạng đầu ra:

      In trên một dòng ba số thực: S^\widehat SS, SSS, ∣S^−S∣|\widehat S - S|∣S−S∣, mỗi số làm tròn đúng 6 chữ số thập phân, cách nhau bởi khoảng trắng.

    Ví dụ:

    Đầu vào:

    1 1 4
    0 0
    2 2
    0.5 0.5
    -2 0

    Đầu ra:

    2.000000 3.141593 1.141593
    

    Đầu vào:

    2 3 0
    

    Đầu ra:

    0.000000 18.849556 18.849556
    

    Đang tải editor...