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/2LVIrhIyVS
https://s.shopee.vn/2LVIrhIyVS
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
- Ứng dụng của đa phương tiện: A. Trong khoa học, trong y học, trong thương mại, trong quản lý xã hội...
- 1. Designers have ______________the Ao Dai for...
- Hãy chỉ ra tác động tiêu cực của tin học đối với xã hội
- Phân biệt sự khác nhau giữa siêu văn bản và trang wed
- Phần mềm máy tính nào dưới đây là ví dụ về sản phẩm đa phương tiện: A. Phần mềm đồ họa B. Phần mềm trình chiếu C....
- Câu hỏi: Trong PowerPoint có một thư viện ảnh rất phong phú được gọi là gì? A. Clip...
- viết chương trình nhập n số nguyên từ bàn phím (n<10^5) , in ra man hình tổng...
- liệt kê điểm giống và khác nhau của phần soạn thảo văn bản với phần mềm power point tin học 9
Câu hỏi Lớp 9
- cho điểm A (0; 1 ) và điểm B ( -4;3). Viết phương trình đường thẳng (d)là đường trung trực của...
- Lấy 3 ví dụ về thể đồng hợp, 3 ví dụ về thể dị hợp. Nêu 3 ví dụ về cặp tính trạng...
- Becoming a collector of something is very interesting. The most interesting is ________(23) stamps because there are so...
- thấu kính phân kì: d=8cm, f=12cm, AB=1cm. tính d', h'. giúp mk với ạ
- Tìm giá trị của m để đường thẳng ; (d ):y=x+m+1 và (d'):y=-x+3m-1 cắt nhau tại một điểm thuộc...
- Phương trình (m+1)x2+2x-1=0 có hai nghiệm trái dấu khi A.m≥-1 ...
- Dùng máy tính bỏ túi, tính giá trị gần đúng cuả nghiệm mỗi phương trình sau (làm tròn đến chữ số thập phân thứ...
- Biết phương trình x^2 −3x+2=0 có 2 nghiệm Xị;X,. Tính giá trị A=(3x²-1...
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.