| # | Bài tập | Điểm | Thời gian: | Giới hạn bộ nhớ |
|---|---|---|---|---|
| 1 | dist | 10 (p) | 1.0s | 256M |
| 2 | BASIC SET | 10 (p) | 1.0s | 256M |
| 3 | Hai phần tử dễ thương | 10 (p) | 1.0s | 256M |
| 4 | Số xuất hiện nhiều lần nhất | 10 (p) | 1.0s | 500M |
| 5 | Đếm số lần xuất hiện | 10 (p) | 1.0s | 500M |
| 6 | Xâu chẵn (HSG12'20-21) | 10 (p) | 1.0s | 500M |
| 7 | Đếm ký tự (HSG'19) | 10 (p) | 1.0s | 256M |
| 8 | socks ver2 | 10 (p) | 1.0s | 500M |
| 9 | Đếm cặp có tổng bằng 0 | 10 (p) | 1.0s | 256M |
| 10 | GCD1 | 10 (p) | 2.0s | 1G |
| 11 | lostfunction | 10 (p) | 1.0s | 256M |
| 12 | Kết nối (DUTPC'21) | 10 (p) | 1.0s | 256M |
| 13 | Tổng bằng 0 | 10 (p) | 1.0s | 1023M |
| 14 | Dãy số hoàn hảo | 10 (p) | 1.0s | 1023M |
| 15 | minict26 | 10 (p) | 1.0s | 1023M |
| 16 | Khán giả may mắn (HSG12'20-21) | 10 (p) | 1.0s | 500M |
Cho dãy \(a\), số nguyên \(n\) phần tử, đếm số số xuất hiện trong dãy đó.
Test 1
5
1 3 2 3 2
3
Cho một set \(\mathcal{X}\).
Các bạn có thể vào link này để tìm hiểu về CTDL \(set\) trong C++. (link đã chết) (Update 3/12/2022: link đã sống lại)(Update 5/4/2025: Link lại chết rồi)
Nhập nhiều dòng, mỗi dòng nhập hai số nguyên \(\Gamma\) và \(\Delta\).
Ở mỗi lần nhập, hãy đưa vào set số nguyên lớn hơn trong hai số \(\Gamma\) và \(\Delta\). Nếu \(\Gamma = \Delta\), đưa vào set \(1\) trong \(2\) số đó.
Nhập hai số \(0\) (cách nhau 1 dấu cách) để kết thúc quá trình nhập.
Yêu cầu: In ra set \(\mathcal{X}\) sau khi nhập xong, mỗi số trên \(1\) dòng, theo thứ tự tăng dần.
Test 1
3 2
4 4
8 9
0 0
3
4
9
Test 2
92 17
92 19
0 0
92
Cho một mảng gồm \(n\) số nguyên . Tìm \(2\) chỉ số \(i,j\) thỏa mãn \(1\le i<j\le n\) và \(a[j]-a[i]\) đạt giá trị lớn nhất.
Dòng thứ nhất chứa số nguyên dương \(n(2\le n\le 10^5)\)
Dòng thứ hai chứa \(n\) số nguyên \(a_i(-10^3\le a_i\le 10^3 \text{ }\forall 1\le i\le n)\)
Dòng thứ nhất chứa hai chỉ số \(i,j\) thỏa mãn yêu cầu bài toán
Dòng thứ hai in ra giá trị \(a[j]-a[i]\)
(Chú ý nếu có nhiều đáp án in ra đáp án bất kì).
Test 1
3
1 2 3
1 3
2
Cho n số nguyên a[1], a[2], ..., a[n].
In ra số xuất hiện nhiều lần nhất và số lần xuất hiện của nó.
Nếu có nhiều kết quả in ra số xuất hiện nhiều lần nhất có giá trị nhỏ nhất
Dòng 1: số nguyên dương n \((n \le 10^5)\)
Dòng 2: n số nguyên a[1], a[2], ..., a[n] \((-10^{16} \le \texttt{a[i]} \le 10^{16})\)
In ra số nhỏ nhất xuất hiện nhiều lần nhất và số lần xuất hiện của nó.
5
1 2 1 2 3
1 2
Cho n số nguyên a[1], a[2], ..., a[n].
In ra các số xuất hiện trong mảng theo thứ tự tăng dần và số lần xuất hiện của chúng.
Dòng 1: số nguyên dương n \((n <= 10^5)\)
Dòng 2: n số nguyên a[1], a[2], ..., a[n] ( -10^{16} <= a[i] <= 10^{16} \ )
Mỗi dòng in ra: số xuất hiện trong mảng và số lần xuất hiện của chúng.
5
1 2 1 2 3
1 2
2 2
3 1
Cho một xâu \(S\) được chỉ gồm các ký tự chữ cái thường \(‘a’… ‘z’\) được gọi là xâu chẵn nếu số lần xuất hiện của từng chữ cái trong xâu \(S\) là số chẵn.
Test 1
adccda
Yes
ở ví dụ thứ nhất, có 2 ký tự ‘a’; 2 ký tự ‘c’ và 2 ký tự ‘d’ đều là số lượng chẵn nên đáp án là "Yes".
Test 2
adcccdaa
No
ở ví dụ thứ hai, có 3 ký tự ‘a’; 3 ký tự ‘c’ và 2 ký tự ‘d’ có số lượng ký tự ‘a’ là 3 (lẻ) nên đáp án là "No".
Hãy viết chương trình thực hiện nhiệm vụ sau:
Nhập vào từ bàn phím một xâu kí tự \(S\), hãy in ra số kí tự chỉ xuất hiện đúng 1 lần trong xâu \(S\).
Test 1
abbacdmedc
2
Levi mở cửa hàng bán quần áo, anh ta có 1 đống tất mà cần phải ghép đôi theo màu để bán. Mỗi màu có thể được biểu diễn bởi 1 số nguyên dương.
Yêu cầu: Hãy xác định giúp anh ta biết anh ta có thể có tối đa bao nhiêu đôi tất cùng màu.
Dòng đầu tiên gồm 1 số nguyên n đại diện cho số chiếc tất (1≤n≤100000)
Dòng thứ hai gồm n số nguyên dương, mỗi số đại diện cho 1 màu tất (các số này không lớn hơn \(10^{16}\))
Gồm 1 số duy nhất là kết quả của bài toán.
7
1 2 1 2 1 3 2
2
Gợi ý: Bài này các bạn đã từng làm bằng đếm phân phối rồi, nhưng với giới hạn các số \(<= 10^{16}\) thì bắt buộc phải sử dụng map mới AC được
Cho dãy số \(A\) có \(N\) số nguyên. Hãy đếm số cặp \((i,j)\) sao cho \(A_i + A_j = 0\), với \(i < j\).
Test 1
3
-2 0 2
1
Chỉ tồn tại một cặp phần tử \((1, 3)\) tương ứng với \(A_1 + A_3 = -2 + 2 = 0\).
Test 2
6
-2 -1 0 0 1 2
3
Cho một tập hợp rỗng, bạn sẽ lần lượt thực hiện N thao tác. Có hai loại thao tác được thực hiện:
Sau mỗi lần thực hiện thao tác, hãy đưa ra ước chung lớn nhất của tập hợp này. Với trường hợp tập hợp con rỗng hãy in ra số 1.
Test 1
6
1 8
1 12
1 10
1 8
2 8
2 8
8
4
2
2
2
2
Cho một dãy gồm \(n\) số nguyên dương \(a_1,a_2,…,a_n\). Một hàm \(f\) được định nghĩa như sau:
\(f(x)=x*count_a (x)\)
với \(count_a (x)\) là số lần xuất hiện của \(x\) có trong dãy \(a\).
Yêu cầu: Hãy tìm phần tử \(a_i\) có \(f(a_i )\) lớn nhất \((1\le i\le n)\).
Test 1
5
1 2 3 4 5
5
Test 2
4
1 2 1 1
1
Trong một lớp học về lập trình mạng khoa CNTT, thầy Tuấn cho các học sinh chơi một trò chơi. Các học sinh phải viết chương trình kết nối với nhau bằng giao thức TCP qua mạng LAN và phải báo cáo lại mình đã kết nối bao nhiêu lần.
Thầy Tuấn có danh sách các lượt kết nối của các cặp học sinh. Lượt kết nối thứ \(i\) cho biết học sinh \(𝑎_𝑖\) kết nối với học sinh \(𝑏_𝑖\) và kết nối \(c_𝑖\) lần.
Hãy giúp thầy Tuấn thống kê các học sinh của mình đã kết nối chính xác bao nhiêu lần.
Test 1
5
fixers join 15
yh bones 10
dragon khoi 9
khoi yh 1
dragon yh 5
bones 10
dragon 14
fixers 15
join 15
khoi 10
yh 16
Bạn được cho một dãy số \(a\) gồm \(n\) số nguyên. Nhiệm vụ của bạn là tìm số cặp số \((i,j) \ 1 \leq i \leq j \leq n\) sao cho \(a_i + a_{i+1} + ... + a_j = 0\)
Test 1
4
-3 3 -4 4
3
Cho một dãy số nguyên \(a_1, a_2, a_3, …, a_n\) và một số nguyên \(k\). Một dãy con \(1 \leq i \leq j \leq n\) được gọi là hoàn hảo nếu như \(a_i + a_{i + 1} + a_{i + 2} + … + a_j = k\).
Yêu cầu: Hãy đếm xem có bao nhiêu dãy con hoàn hảo từ dãy đã cho.
Test 1
5 5
1 2 3 4 5
2
kid2201 có n hộp lập phương trống, hộp thứ i có kích thước là \(a_i\).
kid2201 có thể bỏ hộp thứ i vào trong hộp thứ j nếu như:
kid2201 là một học sinh chuyên về thuật toán, muốn bỏ các hộp vào nhau sao cho số lượng hộp có thể nhìn thấy là ít nhất có thể.
Test 1
3
1 2 3
1
Trong test 1, hộp thứ 1 bỏ vào trong hộp thứ 2, hộp 2 bỏ vào trong hộp 3.
Test 2
4
4 3 4 2
2
Trong test 2, hộp 2 bỏ vào hộp 3, hộp 4 bỏ vào hộp thứ 1.
Trong buổi hòa nhạc diễn ra tại nhà văn hóa trung tâm có \(N\) khán giả được đánh số thứ tự từ 1 đến \(N\), khán giả thứ \(i (1 \le i \le N )\) có chiều cao là một số nguyên \(A_i (1\le A_i\le 10^9)\). Ban tổ chức muốn chọn ra hai khán già may mắn để trao quà với điều kiện khoảng cách giữa hai số thứ tự của hai người được chọn bằng tổng chiều cao của họ.
Yêu cầu: Hãy đếm số cách khác nhau mà ban tổ chức có thể chọn ra được hai khán giả may mắn, biết rằng hai cách là khác nhau nếu có ít nhất một người được chọn khác nhau.
Test 1
6
2 3 3 1 3 1
3