01/10/2018, 11:36
Xin hướng làm bài tập (C++)
Cho N đoạn số nguyên [ai,bi]. Tìm 1 số mà số đó thuộc nhiều đoạn số nguyên nhất
VD: N=5
[0:10], [2;3] , [4;7], [3;5], [5;8] => 5
Bài liên quan
Cho N đoạn số nguyên [ai,bi]. Tìm 1 số mà số đó thuộc nhiều đoạn số nguyên nhất
VD: N=5
[0:10], [2;3] , [4;7], [3;5], [5;8] => 5
Gộp chung a[i] và b[i] vào rồi Sort, đếm xuối đến biến a[i] bất kì tăng biến count lên 1, b[i] bất kì giảm đi 1, kết quả là điểm mà giá trị count cực đại.
max
min
max - min + 1
phần tử, gọi là mảngDanhSachSo
n
được duyệt thì tăngDanhSachSo[n - min]
thêm 1DanhSachSo
, index của số đó trongDanhSachSo
cộng vớimin
chính là kết quả cần tìm.Cho số từ 1 đến 1e10 thôi là hết mem, bó tay
Dùng map được mà bác, nhưng mà sợ không gánh nổi độ phức tạp thời gian (quá to!).
Nên chọn cách nào có độ phức tạp chỉ phụ thuộc số đoạn.