Tìm số thứ k trong ma trận m*n

Mọi người cho em hỏi bài này với ạ:

Bạn đang ko rõ đề bài hay sao ?

1 Like

e hiểu đề nhưng e muốn mọi người giúp e về thuật toán. Vì e dùng mảng 2 chiều để lưu giá trị thì nó bị tràn :(((

Tích sẽ “tăng dần” theo đường chéo phụ. Dự là O(sqrt(K)) :smiley:

p/s: Cauchy cho ta thấy số lớn nhất trong đường chéo phụ là giao điểm với đường chéo chính :bulb: hoặc là hai bên của nó.

4 Likes

đơn giản thì:
với mỗi số X tìm được số cặp (i,j) sao cho i * j <= X, tạm gọi số lượng cặp (i,j) này là F(X).
-> tìm số X sao cho F(X) <= K <= F(X+1) bằng chặt nhị phân.

4 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?