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ê] Xếp hạng dữ liệu khi có giá trị trùng (Midrank)

    Trong hầu hết các kiểm định phi tham số (kiểm định dấu, Wilcoxon, Mann–Whitney, Spearman, Kruskal–Wallis, ...), bước xử lý số liệu đầu tiên là xếp hạng (rank) các quan sát: giá trị nhỏ nhất được gán hạng 111, giá trị nhỏ thứ hai được gán hạng 222, ..., giá trị lớn nhất được gán hạng nnn.

    Khi có kkk giá trị bằng nhau (gọi là một nhóm trùng), quy ước chuẩn của thống kê phi tham số là gán cho tất cả kkk giá trị đó cùng một hạng trung bình (midrank), bằng trung bình cộng của kkk hạng liên tiếp mà lẽ ra chúng nhận được nếu không trùng nhau.

    Ví dụ: với dãy 10,20,20,30,4010, 20, 20, 30, 4010,20,20,30,40, sắp tăng dần ta có vị trí 1,2,3,4,51,2,3,4,51,2,3,4,5. Giá trị 202020 xuất hiện ở vị trí 222 và 333 nên nhận hạng trung bình 2+32=2.5\frac{2+3}{2}=2.522+3​=2.5. Vậy hạng tương ứng theo đúng thứ tự xuất hiện trong dữ liệu gốc là: 1.0, 2.5, 2.5, 4.0, 5.01.0,\ 2.5,\ 2.5,\ 4.0,\ 5.01.0, 2.5, 2.5, 4.0, 5.0.

    Một tính chất quan trọng cần kiểm tra: dù có trùng hay không, tổng tất cả các hạng luôn bằng n(n+1)2\dfrac{n(n+1)}{2}2n(n+1)​.

    Cho nnn số liệu quan sát, hãy tính hạng (midrank) của từng số liệu theo đúng thứ tự xuất hiện trong input, và tính tổng các hạng để kiểm tra.

    • Định dạng đầu vào:
      • Dòng 1: số nguyên nnn (1≤n≤10001 \le n \le 10001≤n≤1000).
      • Dòng 2: nnn số thực cách nhau bởi khoảng trắng (các giá trị quan sát, có thể âm, có thể trùng nhau).
    • Định dạng đầu ra:
      • Dòng 1: nnn hạng tương ứng theo đúng thứ tự xuất hiện trong input, mỗi hạng được làm tròn và in với đúng 1 chữ số thập phân, cách nhau bởi một khoảng trắng.
      • Dòng 2: tổng tất cả các hạng, in với đúng 1 chữ số thập phân.

      Ví dụ với input:

      5
      10 20 20 30 40
      

      Output:

      1.0 2.5 2.5 4.0 5.0
      15.0
      

    Ví dụ:

    Đầu vào:

    5
    10 20 20 30 40
    

    Đầu ra:

    1.0 2.5 2.5 4.0 5.0
    15.0
    

    Đầu vào:

    1
    5
    

    Đầu ra:

    1.0
    1.0
    

    Đang tải editor...