Theo mô tả nhiệm vụ, n (1 ≤ n ≤ 100000) là số ngày tổ chức thực hiện công việc, m
(1 ≤ m ≤ 1000000) là số lượng yêu cầu công việc và d (0 ≤ d <n) là sự chậm trễ số.
Nó không phải là khó khăn để thấy rằng đối với k cho trước (1 ≤ k ≤ m), chúng tôi có thể quyết định xem tổ chức có thể xử lý tất cả các công việc
với ít nhất d ngày chậm trễ có máy k. Nói cách khác, cho dù k là một trên ràng buộc của các giải pháp. Nếu
chúng ta precompute Cn [x], số lượng yêu cầu nộp vào ngày x, sau đó quyết định trên có thể được thực hiện trong O (n)
thời gian bằng một thuật toán tham lam.
Do đó người ta có thể đưa ra một thuật toán sử dụng tìm kiếm tuần tự của O (m + k · n) thời gian chạy, với k là tối thiểu
số lượng máy móc cần thiết để xử lý tất cả các công việc với ít nhất d ngày của sự chậm trễ. Vì trong trường hợp k = m xấu nhất,
thời gian chạy của thuật toán ngây thơ này là O (m · n). Quá chậm.
Chúng tôi có thể tăng tốc độ của thuật toán ngây thơ trên bằng cách sử dụng tìm kiếm nhị phân. Đối với việc tìm kiếm nhị phân ban đầu thấp hơn giới hạn n (1 ≤ n ≤ 100000) là số ngày tổ chức thực hiện công việc, m (1 ≤ m ≤ 1000000) là số lượng yêu cầu công việc và d (0 ≤ d <n) là số chậm trễ. Nó không phải là khó khăn để thấy rằng đối với k cho trước (1 ≤ k ≤ m), chúng tôi có thể quyết định xem tổ chức có thể xử lý tất cả các công việc với ít nhất d ngày chậm trễ có máy k. Nói cách khác, cho dù k là một trên ràng buộc của các giải pháp. Nếu chúng ta precompute Cn [x], số lượng yêu cầu nộp vào ngày x, sau đó quyết định trên có thể được thực hiện trong O (n) thời gian bằng một thuật toán tham lam. Do đó người ta có thể đưa ra một thuật toán sử dụng tìm kiếm tuần tự của O (m + k · n) thời gian chạy, với k là tối thiểu số lượng máy móc cần thiết để xử lý tất cả các công việc với ít nhất d ngày của sự chậm trễ. Vì trong trường hợp k = m xấu nhất, thời gian chạy của thuật toán ngây thơ này là O (m · n). Quá chậm. Chúng tôi có thể tăng tốc độ của thuật toán ngây thơ trên bằng cách sử dụng tìm kiếm nhị phân. Đối với việc tìm kiếm nhị phân ban đầu thấp hơn giới hạn n (1 ≤ n ≤ 100000) là số ngày tổ chức thực hiện công việc, m (1 ≤ m ≤ 1000000) là số lượng yêu cầu công việc và d (0 ≤ d <n) là số chậm trễ. Nó không phải là khó khăn để thấy rằng đối với k cho trước (1 ≤ k ≤ m), chúng tôi có thể quyết định xem tổ chức có thể xử lý tất cả các công việc với ít nhất d ngày chậm trễ có máy k. Nói cách khác, cho dù k là một trên ràng buộc của các giải pháp. Nếu chúng ta precompute Cn [x], số lượng yêu cầu nộp vào ngày x, sau đó quyết định trên có thể được thực hiện trong O (n) thời gian bằng một thuật toán tham lam. Do đó người ta có thể đưa ra một thuật toán sử dụng tìm kiếm tuần tự của O (m + k · n) thời gian chạy, với k là tối thiểu số lượng máy móc cần thiết để xử lý tất cả các công việc với ít nhất d ngày của sự chậm trễ. Vì trong trường hợp k = m xấu nhất, thời gian chạy của thuật toán ngây thơ này là O (m · n). Quá chậm. Chúng tôi có thể tăng tốc độ của thuật toán ngây thơ trên bằng cách sử dụng tìm kiếm nhị phân. Đối với việc tìm kiếm nhị phân ban đầu thấp hơn giới hạn n) là số chậm trễ. Nó không phải là khó khăn để thấy rằng đối với k cho trước (1 ≤ k ≤ m), chúng tôi có thể quyết định xem tổ chức có thể xử lý tất cả các công việc với ít nhất d ngày chậm trễ có máy k. Nói cách khác, cho dù k là một trên ràng buộc của các giải pháp. Nếu chúng ta precompute Cn [x], số lượng yêu cầu nộp vào ngày x, sau đó quyết định trên có thể được thực hiện trong O (n) thời gian bằng một thuật toán tham lam. Do đó người ta có thể đưa ra một thuật toán sử dụng tìm kiếm tuần tự của O (m + k · n) thời gian chạy, với k là tối thiểu số lượng máy móc cần thiết để xử lý tất cả các công việc với ít nhất d ngày của sự chậm trễ. Vì trong trường hợp k = m xấu nhất, thời gian chạy của thuật toán ngây thơ này là O (m · n). Quá chậm. Chúng tôi có thể tăng tốc độ của thuật toán ngây thơ trên bằng cách sử dụng tìm kiếm nhị phân. Đối với việc tìm kiếm nhị phân ban đầu thấp hơn giới hạn n) là số chậm trễ. Nó không phải là khó khăn để thấy rằng đối với k cho trước (1 ≤ k ≤ m), chúng tôi có thể quyết định xem tổ chức có thể xử lý tất cả các công việc với ít nhất d ngày chậm trễ có máy k. Nói cách khác, cho dù k là một trên ràng buộc của các giải pháp. Nếu chúng ta precompute Cn [x], số lượng yêu cầu nộp vào ngày x, sau đó quyết định trên có thể được thực hiện trong O (n) thời gian bằng một thuật toán tham lam. Do đó người ta có thể đưa ra một thuật toán sử dụng tìm kiếm tuần tự của O (m + k · n) thời gian chạy, với k là tối thiểu số lượng máy móc cần thiết để xử lý tất cả các công việc với ít nhất d ngày của sự chậm trễ. Vì trong trường hợp k = m xấu nhất, thời gian chạy của thuật toán ngây thơ này là O (m · n). Quá chậm. Chúng tôi có thể tăng tốc độ của thuật toán ngây thơ trên bằng cách sử dụng tìm kiếm nhị phân. Đối với việc tìm kiếm nhị phân ban đầu thấp hơn giới hạn số lượng yêu cầu đệ trình vào ngày x, sau đó quyết định trên có thể được thực hiện trong O (n) thời gian bằng một thuật toán tham lam. Do đó người ta có thể đưa ra một thuật toán sử dụng tìm kiếm tuần tự của O (m + k · n) chạy thời gian, nơi mà k là tối thiểu số lượng máy móc cần thiết để xử lý tất cả các công việc với ít nhất d ngày của sự chậm trễ. Vì trong trường hợp k = m xấu nhất, thời gian chạy của thuật toán ngây thơ này là O (m · n). Quá chậm. Chúng tôi có thể tăng tốc độ của thuật toán ngây thơ trên bằng cách sử dụng tìm kiếm nhị phân. Đối với việc tìm kiếm nhị phân ban đầu thấp hơn giới hạn số lượng yêu cầu đệ trình vào ngày x, sau đó quyết định trên có thể được thực hiện trong O (n) thời gian bằng một thuật toán tham lam. Do đó người ta có thể đưa ra một thuật toán sử dụng tìm kiếm tuần tự của O (m + k · n) chạy thời gian, nơi mà k là tối thiểu số lượng máy móc cần thiết để xử lý tất cả các công việc với ít nhất d ngày của sự chậm trễ. Vì trong trường hợp k = m xấu nhất, thời gian chạy của thuật toán ngây thơ này là O (m · n). Quá chậm. Chúng tôi có thể tăng tốc độ của thuật toán ngây thơ trên bằng cách sử dụng tìm kiếm nhị phân. Đối với việc tìm kiếm nhị phân ban đầu thấp hơn giới hạn
là 1 và các ràng buộc trên là m. Chúng tôi có thể cung cấp cho ban đầu tốt hơn trên và dưới bị ràng buộc bởi một phương pháp tham lam của O (n)
thời gian chạy.
Các trường hợp tồi tệ nhất thời gian chạy của thuật toán này là O (m + n · log m).
đang được dịch, vui lòng đợi..
