Mời thí sinh CLICK vào liên kết hoặc ảnh bên dưới
Mở ứng dụng Shopee để tiếp tục làm bài thi
https://s.shopee.vn/AKN2JyAJAw
https://s.shopee.vn/AKN2JyAJAw
Sytu.vn và đội ngũ nhân viên xin chân thành cảm ơn!
Cho dãy số nguyên a gồm N phần tử. Đếm xem có bao nhiêu cặp (i, j) trong đó i < j và a[i] = a[j]Input Specification
Dòng đầu là N số lượng phần tử của dãy. (0 < N <= 100000)
Dòng tiếp theo chứa n số nguyên là các phần tử của dãy số a (0< a.i <=1000)Output SpecificationSố cặp (i,j) thỏa mãn yêu cầu.
(Ngôn ngữ C++ nha)
Mình cần một tay giúp đây! Ai có thể đóng góp ý kiến để mình giải quyết câu hỏi này được không?
Các câu trả lời
Câu hỏi Tin học Lớp 9
- Mạng LAN được viết tắt của các từ nào? A. Lacal Area Network B. Local Are Network C. Locel Area Networld D....
- Vai trò của máy chủ trên mạng máy tính là: A. Máy tính có...
- Cô ơi cho em hỏi nếu quên email và sđt thì làm cách nào để lấy lại mk ạ...
- Đâu là địa chỉ trang Web của một máy tìm kiếm?A. Yahoo.com.vn B. vietnamnet.vn C. Opera...
Câu hỏi Lớp 9
- Bài 2 : Rút gọn biểu thức sau A = sqrt(5 - 2sqrt(6)) - sqrt((sqrt(2) - sqrt(3)) ^ 2)
- Chủ một nhà hàng muốn làm tường rào bao quanh 600 m2 đất để làm bãi đỗ xe. Ba cạnh của khu đất được rào bằng thép...
- Viết văn bản tóm tắt một văn bản tự sự đã học trong chương trình Ngữ văn lớp 8 (Lão hạc, Chiếc lá cuối cùng,…) và...
- Bài 41 (trang 58 SGK Toán 9 tập 2) : Trong lúc học nhóm, bạn Hùng yêu cầu bạn Minh và...
- Cho tam giác ABC cân tại A. Vẽ hai đường cao BE, CF, chúng cắt nhau tại H a) Chứng minh rằng 4...
- 31.can you use this laptop? -you can__________________. 32.he can't remember the answer to these questions. -he...
- Làn thu thủy, nét xuân sơn Hoa ghen thua thắm liễu hờn kém xanh Một hai nghiêng nước nghiêng thành Sắc đành đòi một,...
- Hoà tan hoàn toàn m gam kim loại Fe bằng dung dịch H2SO4 loãng 10% vừa đủ thu được dung dịch A. Làm lạnh dung dịch A...
Bạn muốn hỏi điều gì?
Đặt câu hỏix
- ²
- ³
- √
- ∛
- ·
- ×
- ÷
- ±
- ≈
- ≤
- ≥
- ≡
- ⇒
- ⇔
- ∈
- ∉
- ∧
- ∨
- ∞
- Δ
- π
- Ф
- ω
- ↑
- ↓
- ∵
- ∴
- ↔
- →
- ←
- ⇵
- ⇅
- ⇄
- ⇆
- ∫
- ∑
- ⊂
- ⊃
- ⊆
- ⊇
- ⊄
- ⊅
- ∀
- ∠
- ∡
- ⊥
- ∪
- ∩
- ∅
- ¬
- ⊕
- ║
- ∦
- ∝
- ㏒
- ㏑

Cách 1:```cpp#include#include using namespace std;int main() { int N; cin >> N; unordered_map countMap; for (int i = 0; i < N; i++) { int num; cin >> num; countMap[num]++; } int countPairs = 0; for (auto& pair : countMap) { int count = pair.second; countPairs += count * (count - 1) / 2; } cout << countPairs << endl; return 0;}```Cách 2:```cpp#include #include using namespace std;int main() { int N; cin >> N; vector arr(N); for (int i = 0; i < N; i++) { cin >> arr[i]; } int countPairs = 0; for (int i = 0; i < N; i++) { for (int j = i + 1; j < N; j++) { if (arr[i] == arr[j]) { countPairs++; } } } cout << countPairs << endl; return 0;}```Câu trả lời cho câu hỏi: Để đếm số cặp (i, j) thỏa mãn điều kiện i < j và a[i] = a[j], ta có thể sử dụng cách 1 với cấu trúc dữ liệu unordered_map để đếm số lần xuất hiện của từng phần tử trong mảng. Sau đó, ta tính số cặp thỏa mãn bằng cách lấy tổng số cặp chính phương của số lần xuất hiện của từng phần tử. Hoặc ta cũng có thể sử dụng cách 2 với hai vòng lặp duyệt mảng để đếm số cặp thỏa mãn điều kiện trực tiếp.
Đảm bảo việc sử dụng map sẽ giúp giảm độ phức tạp của thuật toán xuống O(N) với N là số lượng phần tử của dãy số a.
Cuối cùng, ta trả về số cặp đã tính được là kết quả của bài toán.
Sau đó, ta duyệt qua map để tính tổng số cặp (i, j) thỏa mãn yêu cầu. Với mỗi phần tử a[i], số cặp thỏa mãn sẽ là tổ hợp chập 2 của số lần xuất hiện của phần tử đó.
Đầu tiên, ta sử dụng một map để đếm số lần xuất hiện của từng phần tử trong dãy số a.