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: bước đi ngẫu nhiên (random walk)

    Xét một hạt thực hiện bước đi ngẫu nhiên đơn giản (simple random walk) trên trục số nguyên, xuất phát từ vị trí 000. Trong mỗi lần thử Monte Carlo, hạt thực hiện nstep\text{nstep}nstep bước; ở mỗi bước, nếu số ngẫu nhiên tương ứng u<0.5u < 0.5u<0.5 thì hạt bước +1+1+1, ngược lại (u≥0.5u \ge 0.5u≥0.5) hạt bước −1-1−1.

    Thực hiện TTT lần thử độc lập (mỗi lần thử dùng một dãy nstep\text{nstep}nstep số ngẫu nhiên riêng, cho sẵn ở input, không cần sinh). Gọi P1,P2,…,PTP_1, P_2, \ldots, P_TP1​,P2​,…,PT​ là vị trí kết thúc của hạt sau nstep\text{nstep}nstep bước ở từng lần thử. Hãy tính bằng phương pháp Monte Carlo:

    1. Xác suất hạt trở về đúng vị trí 000 sau nstep\text{nstep}nstep bước: q^=1T#{i:Pi=0}\hat q = \dfrac{1}{T}\#\{i: P_i = 0\}q^​=T1​#{i:Pi​=0}
    2. Vị trí trung bình cuối cùng: Pˉ=1T∑i=1TPi\bar P = \dfrac{1}{T}\sum_{i=1}^T P_iPˉ=T1​∑i=1T​Pi​
    3. Độ lệch chuẩn mẫu của vị trí cuối: s=1T−1∑i=1T(Pi−Pˉ)2s = \sqrt{\dfrac{1}{T-1}\sum_{i=1}^T (P_i-\bar P)^2}s=T−11​∑i=1T​(Pi​−Pˉ)2​

    Quy ước: nếu T=0T=0T=0, cả ba giá trị bằng 000. Nếu nstep=0\text{nstep}=0nstep=0, hạt vẫn ở vị trí 000 (không đọc số ngẫu nhiên nào). Nếu T=1T=1T=1, độ lệch chuẩn mẫu quy định bằng 000 (không chia cho 000).

    Ví dụ: T=2,nstep=2T=2, \text{nstep}=2T=2,nstep=2, lần thử 1 dùng 0.1 0.9 (bước +1+1+1 rồi −1-1−1 → P1=0P_1=0P1​=0), lần thử 2 dùng 0.9 0.1 (bước −1-1−1 rồi +1+1+1 → P2=0P_2=0P2​=0). Cả hai lần đều về 000 nên q^=1\hat q=1q^​=1, Pˉ=0\bar P=0Pˉ=0, s=0s=0s=0. Output: 1.000000 0.000000 0.000000.

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

      Dòng 1: hai số nguyên T nstepT\ \text{nstep}T nstep (0≤T≤10000 \le T \le 10000≤T≤1000, 0≤nstep≤10000 \le \text{nstep} \le 10000≤nstep≤1000). TTT dòng tiếp theo (nếu nstep>0\text{nstep}>0nstep>0), mỗi dòng gồm nstep\text{nstep}nstep số thực trong [0,1)[0,1)[0,1) — dãy số ngẫu nhiên dùng cho lần thử tương ứng.

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

      In trên một dòng ba số thực cách nhau bởi khoảng trắng: q^\hat qq^​, Pˉ\bar PPˉ, sss, mỗi số làm tròn đúng 6 chữ số thập phân.

    Ví dụ:

    Đầu vào:

    0 5
    

    Đầu ra:

    0.000000 0.000000 0.000000
    

    Đầu vào:

    1 3
    0.1 0.6 0.3

    Đầu ra:

    0.000000 1.000000 0.000000
    

    Đang tải editor...