Điểm:
200 (p)
Thời gian:
2.0s
Bộ nhớ:
256M
Input:
bàn phím
Output:
màn hình
Ký hiệu \(D(n)\) là số lượng ước số của số tự nhiên \(n\), ví dụ: \(D(10)=4\) và \(D(12)=6\). Với \(L\) và \(R\) cho trước \((L\leq R)\), hãy tính tổng \(D(L)+D(L+1)+...+D(R-1)+D(R)\).
Input
-
Dòng đầu chứa số nguyên dương \(T\leq 10^6\) là số lượng câu hỏi.
-
\(T\) dòng sau, mỗi dòng chứa hai số nguyên dương \(L\) và \(R\) thể hiện một câu hỏi \(\left(1\leq L\leq R\leq 10^6\right)\).
Output
- Gồm \(T\) dòng, mỗi dòng chứa một số nguyên dương là câu trả lời cho câu hỏi tương ứng.
Example
Test 1
Input
2
1 12
4 5
Output
35
5
Bình luận
gần giống CSES - Counting Divisor | Đếm ước nhưng khó hơn
Đã rất cố gắng nhưng không tài nào ac py3 đc 🙂
Tại sao chạy test 1 ở ngoài đúng mà vô trong này lại tle nhỉ :))
quên thay endl bằng "\n" nên mất 5 đấm vì ngu
Dùng thư viện bits/stdc++.h thì tle mà dùng thư viện iostream lại ac :))
Spoiler Alert
Hint 1
Reference TLE code | \(O(q \times max\_r \times max\_r)\) time | \(O(1)\) auxiliary space | Brute-forces
Hint 2
Reference AC code | \(O(max\_r \times max\_r)\) time + \(O(q) \times O(max\_r)\) query | \(O(n)\) auxiliary space | Brute-forces, Precalculation
Hint 3
Reference AC code | \(O(max\_r \times \sqrt{max\_r})\) time + \(O(q) \times O(max\_r)\) query | \(O(n)\) auxiliary space | Brute-forces, Precalculation
Hint 4
Reference AC code | \(O(max\_r \times \sqrt{max\_r})\) time + \(O(q) \times O(1)\) query | \(O(n)\) auxiliary space | Brute-forces, Precalculation, Partial-sum
Hint 5
Reference AC code | \(O(max\_r \times \log_2(max\_r))\) time + \(O(q) \times O(1)\) query | \(O(n)\) auxiliary space | Brute-forces, Precalculation, Partial-sum