Tập đoạn tốt (HSG9 HN 2024)

Một đoạn thẳng được mô tả bằng 1 cặp số nguyên [L,R]. Hai đoạn thẳng được gọi là giao nhau nếu chúng có ít nhất 1 điểm chung.

Một tập đoạn tốt là tập các đoạn thẳng sao cho với mỗi một đoạn thẳng trong tập đều giao nhau với ít nhất 1 đoạn thẳng khác nhau trong tập đó (coi tập đoạn thẳng chỉ có 1 đoạn thẳng duy nhất là tập đoạn tốt). Ví dụ, tập {[1,3],[4,5],[5,7],[3,4]} hay {[1,4],[2,3]} là 1 tập đoạn tốt, còn {[1,4],[3,5],[6,7]} thì không phải là tập đoạn tốt. Độ tốt của 1 tập đoạn là số lượng cấc đoạn trong tập đó.

Lưu ý: Hai tập đoạn tốt có ít nhất 1 điểm chung sẽ được gộp thành 1 tập đoạn tốt lớn hơn có độ tốt bằng tổng hai tập đoạn tốt đó.

Yêu cầu: Ban đầu tập đoạn thẳng không có đoạn thẳng nào. Cho N đoạn thẳng. Mỗi lần lấy 1 đoạn thẳng theo thứ tự thêm vào tập đoạn thẳng, đoạn thứ i được biểu diễn bởi 2 số nguyên dương (L_i, R_i). Yêu cầu tính tích độ tốt của các tập đoạn tốt được sinh ra từ tập đoạn thẳng hiện tại sau khi thêm đoạn thẳng thứ i. Do kết quả rất lớn, in ra phần dư của đáp án sau khi chia cho 10^9+7.

Input, Output và Scoring

Input (DOANTOT.INP)
  • Dòng đầu chứa số nguyên N (1 \le N \le 10^5).
  • Trong N dòng tiếp theo, dòng thứ i chứa 2 số nguyên dương L_i, R_i (L_i \le R_i \le 10^9).
Output (DOANTOT.OUT)
  • Gồm N dòng, dòng thứ i chứa số nguyên dương là kết quả theo yêu cầu đề bài khi thêm đoạn thẳng thứ i.
Subtasks
  • Subtask 1 (30\%) L_i = R_i ∀ 1 \le i \le n, n \le 30.
  • Subtask 2(50\%) R_i \le 1000 ∀ 1 \le i \le n, n \le 1000.
  • Subtask 3 (20\%) không có ràng buộc gì thêm.

Test

Input (DOANTOT.INP)
6
1 3
4 5
5 7
3 4
8 10
9 11
Output (DOANTOT.OUT)
1
1
2
4
4
8
Note

Sau khi thêm đoạn thứ:

  • 1: Có 1 tập đoạn tốt độ tốt 1 là {[1,3]}.
  • 2: Có 2 tập đoạn tốt độ tốt 1 là {[1,3]} và {[4,5]}.
  • 3: Có 1 tập đoạn tốt độ dài 1 là {[1,3]}, 1 tập đoạn tốt độ dài 2 là {[4,5],[5,7]}.
  • 4: Có 1 tập đoạn tốt độ dài 4 là {[1,3],[4,5],[5,7],[3,4]}.
  • 5: Có 1 tập đoạn tốt độ dài 1 là {[8,10]}, 1 tập đoạn tốt độ dài 4 là {[1,3],[4,5],[5,7],[3,4]}.
  • 6: Có 1 tập đoạn tốt độ dài 2 là {[8,10],[9,11]}, 1 tập đoạn tốt độ dài 4 là {[1,3],[4,5],[5,7],[3,4]}.

TLEOJ [x QTOJ] Contest #13 - L - Cặp phân số kỳ diệu

Sunlight

Một cặp phân số \frac{a}{b} và \frac{c}{d} được gọi là kỳ diệu khi \frac{a}{b} + \frac{c}{d} = \frac{a + c}{b + d}.

Bạn được cho một dãy các phân số, đếm xem có bao nhiêu cặp phân số kỳ diệu trong các phân số này.

Input và Output

Input: (bàn phím)
  • Dòng đầu tiên gồm một số nguyên dương n - số lượng phân số (1 \le n \le 3 \times 10^5).
  • Dòng tiếp theo gồm n số nguyên a_1, a_2, ..., a_n - tử số của các phân số (|a_i| \le 10^9).
  • Dòng tiếp theo gồm n số nguyên dương b_1, b_2, ..., b_n - mẫu số của các phân số (1 \le b_i \le 10^9).
  • Lưu ý: Các phân số không nhất thiết phải tối giản.
Output: (màn hình)
  • Một dòng duy nhất là số cặp phân số kỳ diệu tìm được.

Sample

Input (bàn phím)
3
1 -1 -4
2 2 4
Output (màn hình)
2
Note
  • Cặp phân số (\frac{1}{2}, \frac{-1}{2}) là cặp phân số kỳ diệu vì \frac{1}{2} + \frac{-1}{2} = \frac{0}{4}.
  • Tương tự, cặp phân số (\frac{1}{2}, \frac{-4}{4}) cũng là cặp phân số kỳ diệu vì \frac{1}{2} + \frac{-4}{4} = \frac{-3}{6}.

TLE-oj Cup Round 4 - Đếm số ước

Sunlight

Cho ba số nguyên dương l, r, k, hãy đếm số lượng số nguyên dương i sao cho l \le i \le r và i có đúng k ước nguyên dương phân biệt.

Input, Output và Subtasks

Input: (CNTDIV.inp)
  • Một dòng duy nhất gồm ba số nguyên dương l, r, k (k \le 512).
Output: (CNTDIV.out)
  • Một dòng duy nhất là kết quả bài toán.
Subtasks
  • Subtask 1 (20\%): l, r \le 2000.
  • Subtask 2 (20\%): l, r \le 2 \times 10^5.
  • Subtask 3 (30\%): l, r \le 2 \times 10^6.
  • Subtask 4 (30\%): l, r \le 2 \times 10^7.

Sample

Input (CNTDIV.inp)
1 50 3
Output (CNTDIV.out)
4
Notes
  • Có các số sau trong khoảng từ 1 đên 50 có 3 ước nguyên dương phân biệt: 4, 9, 25, 49.

SUMK (TS10 PTNK 2023)

Sunlight

Cho mảng A gồm N phần tử. Mảng 2 chiều S có kích thước N\cdot N với S_{i,j}=A_i\cdot A_j. Đếm số lượng hình chữ nhật trên S có tổng các phần tử bằng K

Input, output and subtasks:

Input SUMK.INP:
  • Dòng đầu tiên ghi số nguyên dương N (1\le N\le 10^5)
  • Dòng tiếp theo ghi N số nguyên dương: A_1,A_2,A_3,\dots,A_N (1\le A_i\le 10^5)
  • Dòng cuối cùng ghi số nguyên dương K (1\le K\le 10^9)
Output SUMK.OUT:
  • Gồm 1 dòng ghi số nguyên là số lượng hình chữ nhật trên S có tổng các phần tử bằng K
Subtask:
  • 40\% số test có giới hạn N\le 100, A_i \le 100, K \le 10^6.
  • 30\% số test có giới hạn N\le 8000,A_i\le 100,K\le 10^6.
  • 30\% số test còn lại không có giới hạn gì thêm.

Sample:

Sample input SUMK.INP:
5
2 4 1 5 3
30
Sample output SUMK.OUT:
12

TLEOJ [x QTOJ] Contest #13 - H - Vẽ hình

Sunlight

Xét một bảng hình chữ nhật gồm n \times m điểm, xếp thành n hàng m cột. Các cột được đánh số từ 1 đến m từ trái sang phải, các hàng được đánh số từ 1 đến n từ dưới lên trên. Điểm ở hàng i cột j ký hiệu là (i, j). Hai điểm liên tiếp trên một hàng hoặc một cột cách nhau 1.

Vẽ một đường tròn có tâm là điểm (u, v) và bán kính r. Xóa toàn bộ các điểm nằm trong hoặc trên đường tròn.

In ra bảng sau khi thực hiện thao tác xóa.

Input và Output

Input: (bàn phím)
  • Một dòng duy nhất gồm năm số nguyên dương n, m, u, v, r (1 \le u \le n \le 200, 1 \le v \le m \le 200, 1 \le r \le 10^{18}).
Output: (màn hình)
  • Gồm n hàng, mỗi hàng gồm m ký tự. Ký tự thứ i ở hàng j là # khi và chỉ khi điểm ở hàng i cột j chưa bị xóa, ngược lại, ký tự thứ i ở hàng j là ..

Sample

Input (bàn phím)
6 7 1 1 5
Output (màn hình)
.######
....###
.....##
.....##
.....##
......#
Note

Đèn chiếu sáng (Quảng Trị 2025)

Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.

  • Tệp vào: CAU1.INP
  • Tệp ra: CAU1.OUT
  • Thời gian chạy: 1.0s
  • Bộ nhớ: 1024MB

TLE-oj Cup Round 12 - Nghịch đảo modulo

Sunlight

Lưu ý: bài này không được dùng ngôn ngữ C++17 và C++20, cũng như Python.

Lưu ý 2: trong C++ có cấu trúc dữ liệu unsigned long long cho phép lưu số nguyên từ 0 đến 2^{64} - 1.

Cho ba số nguyên n, m, r (0 \le n, r < 2^m). Tìm một số nguyên x (0 \le x < 2^m) sao cho n \times x - r chia hết cho 2^m.

Input, Output và Subtasks

Input: (MODINV.inp)
  • Dòng đầu tiên gồm số nguyên dương t \le 10^6 - số truy vấn.
  • t dòng tiếp theo mỗi dòng gồm ba số nguyên n, m, r (1 \le m \le 64).
Output: (MODINV.out)
  • Gồm t dòng, dòng thứ i là kết quả truy vấn thứ i. Nếu không tìm được số nguyên nào in ra -1, nếu có nhiều số in ra số nhỏ nhất.
Subtasks
  • Subtask 1 (20\%): m \le 20, t = 1.
  • Subtask 2 (20\%): m \le 32.
  • Subtask 3 (10\%): m \le 60.
  • Subtask 4 (20\%): m \le 63.
  • Subtask 5 (30\%): Không có giới hạn gì thêm.

Sample

Input (MODINV.inp)
2
5 3 7
5 4 6
Output (MODINV.out)
3
14
Note
  • 5 \times 3 - 7 = 8 chia hết cho 8.
  • 5 \times 14 - 6 = 64 chia hết cho 16.

Dãy giống nhau

Cho dãy a gồm n phần tử. Tìm độ dài dãy con liên tiếp xuất hiện hai lần dưới dạng hai dãy con không chồng chéo nhau.
Nói cách khác dãy [l_1,r_1] và [l_2,r_2] được gọi là giống nhau khi:

  • 1\le l_1\le r_1 < l_2\le r_2\le n.
  • Với mọi l_1\le i \le r_1 và l_2\le j \le r_2 thì a_i=a_j.
  • r_1-l_1+1=r_2-l_2+1.

Yêu cầu: hãy tìm độ dài lớn nhất dãy con thỏa mãn điều kiện trên.

Input và Output

Input (SAME.INP)
  • Dòng đầu tiên chứa số nguyên dương n (n \le 5\times10^4) ;
  • Dòng thứ hai gồm n số nguyên dương a_i (1\le i \le n, a_i\le 10).
Output (SAME.OUT)
  • Ghi ra màn hình một số nguyên duy nhất là kết quả của bài toán.
Subtask
  • Subtask 1:(40\%) n\le60.
  • Subtask 2:(60\%) không có giới hạn gì thêm.
Sample 1
Input (SAME.INP)
10
1 2 1 2 3 2 1 2 4 3
Output (SAME.OUT)
3

GIẢI MÃ TIN NHẮN (6 điểm) (Kiên Giang 2023)

Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.

  • Tệp vào: GMTNHAN.INP
  • Tệp ra: GMTNHAN.OUT
  • Thời gian chạy: 1.0s
  • Bộ nhớ: 1024MB

TLE Speedrun - Tích chẵn

Sunlight
Input và Output
Input
  • Dòng đầu tiên gồm hai số nguyên dương N, K (K \le N \le 10^5, K \le 10).
  • Dòng tiếp theo gồm N số nguyên dương A_1, A_2, ..., A_N (A_i \le 10^9).
Output
  • Số cách chọn k phần tử từ dãy A sao cho tích của chúng là số chẵn chia lấy dư cho 10^9 + 7.
Sample
Input
3 2
1 2 4
Output
3

Chi phí (Đắk Nông 2023)

Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.

  • Tệp vào: CHPHI.INP
  • Tệp ra: CHPHI.OUT
  • Thời gian chạy: 1.0s
  • Bộ nhớ: 1024MB

Trung bình cộng (TP Hồ Chí Minh 2023)

Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.

  • Tệp vào: TBC.INP
  • Tệp ra: TBC.OUT
  • Thời gian chạy: 1.0s
  • Bộ nhớ: 1024MB

TLE Speedrun - Lũy thừa

Sunlight
Input và Output
Input
  • Hai số nguyên dương A, B (A, B \le 10^9).
Output
  • 0 nếu A^B = B^A, 1 nếu A^B > B^A, 2 nếu A^B < B^A.
Sample
Input
2 2
Output
0

SỐ NGUYÊN TỐ NHỎ NHẤT (Hải Dương 2024)

Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.

  • Tệp vào: stdin
  • Tệp ra: stdout
  • Thời gian chạy: 1.0s
  • Bộ nhớ: 1024MB

Ước thực sự lớn nhất (HSG9 ĐN 2022)

Sunlight

Số tự nhiên y được gọi là một ước thực sự của số tự nhiên x nếu x chia hết cho y và x>y.
Yêu cầu: Nhập vào bàn phím một số nguyên dương x (với x>1), hãy tìm và in ra màn hình số y là ước thực sự lớn nhất của số x.

Sample

Standard Input
10
Standard Output
5

Giới hạn

  • Có 70\% test tương ứng với x\leq 10^6;
  • Có 20\% test tương ứng với 10^6<x\leq 10^8;
  • Có 10\% test tương ứng với 10^8<x\leq 10^9.

SỐ NGUYÊN TỐ (Cà Mau 2024)

Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.

  • Tệp vào: snt.inp
  • Tệp ra: snt.out
  • Thời gian chạy: 1.0s
  • Bộ nhớ: 1024MB

TLEOJ Contest #15 - Tổng AND

Shirokito

Cho mảng a gồm n phần tử và mảng b gồm m phần tử. Cho q truy vấn, mỗi truy vấn thuộc 1 trong 3 loại sau:

  • 1 i x cập nhật phần tử ở vị trí thứ a_i thành x (1 \le x \le 10^6).
  • 2 i x cập nhật phần tử ở vị trí thứ b_i thành x (1 \le x \le 10^6).
  • 3 tính \sum^{n}_{i=1} \sum^{m}_{j=1} a_i&b_j, trong đó & là phép toán bitwise and.

Input, Output và Subtasks

Input: (SUMAND.INP)
  • Dòng đầu chứa 2 số nguyên dương n,m (1 \le n,m \le 10^5).
  • Dòng thứ 2 chứa dãy số nguyên a_1, a_2,...,a_n (1 \le a_i \le 10^6).
  • Dòng thứ 3 chứa dãy số nguyên b_1, a_2,...,a_m (1 \le b_i \le 10^6).
  • Dòng thứ 4 chứa số nguyên dương q (1 \le q \le 10^5).
  • q dòng tiếp theo, mỗi dòng chứa 1 truy vấn thuộc 3 loại truy vấn ở trên.
Output: (SUMAND.OUT)
  • Với mỗi truy vấn loại 3 in ra đáp án cần tìm.
Subtasks
  • Subtask 1 (30\%): 1 \le n,m,q \le 200.
  • Subtask 1 (70\%): không có giới hạn gì thêm.

Sample

Input (SUMAND.INP)
3 3
13 5 2
2 6 7
4
3
1 2 7
2 3 9
3
Output (SUMAND.OUT)
24
26

Chọn người (Huế (TP Huế) 2023)

Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.

  • Tệp vào: HT.INP
  • Tệp ra: HT.OUT
  • Thời gian chạy: 1.0s
  • Bộ nhớ: 1024MB