Hướng dẫn giải của Biểu ngữ lớn
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.
Lời giải: Biểu ngữ lớn
Hướng tiếp cận
Không đi qua cọc trung gian tương đương với với là vector hướng. Với mỗi vector thỏa và , số đoạn thẳng theo hướng này là .
Nhận xét quan trọng
- Với hướng và (cả hai đều hợp lệ khi ), số đoạn thẳng nhân 2.
- Để đếm số trong thỏa : dùng bao hàm-loại trừ trên các ước nguyên tố của .
- Mỗi số có ít nhất ước nguyên tố phân biệt, nên số subset của primes .
Thuật toán
Với mỗi từ đến :
- Tính khoảng hợp lệ: , .
- Phân tích thừa số nguyên tố của .
- Dùng bao hàm-loại trừ để tính .
- Nhân với (hai chiều).
Độ phức tạp
- Thời gian: trong đó — thực tế rất nhanh.
- Bộ nhớ:
Bình luận