Hướng dẫn giải của Bedao Mini Contest 22 - Điểm và Xác suất
Chỉ dùng lời giải này khi không có ý tưởng, và đừng copy-paste code từ lời giải này. Hãy tôn trọng người ra đề và người viết lời giải.
Nộp một lời giải chính thức trước khi tự giải là một hành động có thể bị ban.
Nộp một lời giải chính thức trước khi tự giải là một hành động có thể bị ban.
Tác giả:
Giả sử ta cố định được ~j_1~, ~j_2~, ~j_3~, ~j_4~, ~j_5~ lần lượt là điểm mà Trung đạt được ở các bài kiểm tra từ ~1~ đến ~5~, ta có công thức tính điểm trung bình ~D~ và xác suất ~P~ (tỉ lệ Trung đạt được các điểm thành phần) như sau:
$$D = \left \lceil \dfrac{j_1 + j_2 + j_3 + j_4 + j_5}{5} \right \rceil$$
$$P = \dfrac{p_{1,j_1} \times p_{2, j_2} \times p_{3, j_3} \times p_{4, j_4} \times p_{5, j_5}}{100^5}$$
Như vậy, với mỗi bộ ~(j_1, j_2, j_3, j_4, j_5)~, ta có thể tính được điểm trung bình tạo bởi ~5~ điểm thành phần đó và xác suất Trung đạt được bộ điểm như vậy. Khi này, tỉ lệ Trung đạt được điểm ~D~ sẽ tăng thêm ~P~ đơn vị.
Từ đó, ta có thể suy ra được hướng giải như sau:
- Xây dựng 5 vòng for lồng nhau, vòng for thứ ~i~ sẽ duyệt qua các giá trị ~j_i~ trong khoảng ~[0, 10]~. Ta cũng có thể sử dụng đệ quy cho bước này.
- Với mỗi bộ năm ~(j_1, j_2, j_3, j_4, j_5)~ như thế, tính giá trị ~D~ và ~P~ tương ứng với bộ năm đó, và cập nhật mảng ~ans[]~ theo công thức: ~ans[D] = ans[D] + P~.
- Sau khi kết thúc quá trình duyệt, ta đi lần lượt các con điểm từ ~0~ đến ~10~ và xuất ra ~ans[i]~ chính là xác suất Trung đạt được điểm ~i~ theo yêu cầu đề bài. Lưu ý, vì đề bài yêu cầu ta xuất ra tỉ lệ dưới đơn vị phần trăm, nên ta cần phải biến đổi ~ans[i]~ từ dạng tỉ lệ thuần sang dạng tỉ lệ phần trăm bằng cách ~ans[i] = ans[i] \times 100~.
Bình luận
Sao mình code như này lại sai được nhỉ?
em cam on ngai a