Hướng dẫn cho SUMDIV


Chỉ sử dụng khi thực sự cần thiết như một cách tôn trọng tác giả và người viết hướng dẫn này.

Chép code từ bài hướng dẫn để nộp bài là hành vi có thể dẫn đến khóa tài khoản.

Authors: jumptozero

Mình xin trình bày lời giải bàu này như sau:

Ta có nhận xét rằng: Hàm \(S(n)\) đề bài cho là hàm nhân tính. Nên giả sử phân tích thành nhân tử: \(N! = p_1^{\alpha_1}.p_2^{\alpha_2}...p_k^{\alpha_k}\implies (N!)^3 = p_1^{3\alpha_1}.p_2^{3\alpha_2}...p_k^{3\alpha_k}\)

Khi đó \(S(N!^3) = S(p_1^{3\alpha_1}).S(p_2^{3\alpha_2})...S(p_3^{3\alpha_k})\).

Và ta có thêm một nhận xét nữa là: \(S(p^\alpha)=1+p+...+p^{\alpha}\)

Do đó công việc còn lại của chúng ta là phần tích \(N!\) thành nhân tử và tính biểu thức trên là xong.

Bài toán phân tích \(N!\) chính là bài 1 và bài toàn tính \(S(p^\alpha)\) chính là bài 2

Như vậy là bài toán đã được giải quyết xong

Một điều cần lưu ý ở bài này để AC được task cuối đó là với \(n=4 * 10^7\). Để khai báo một mảng có kích thước \(4 * 10^7\) trong quá trình sàng nguyên tố. Ta phải khai báo chúng ở \(int\) (Vì nếu khai báo là \(long long\) thì sẽ bị runtime error đấy nhé).

Các bạn có thể tham khảo code tại đây

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.