Hướng dẫn giải của Dọn dẹp máy tính


Chỉ dùng lời giải này khi không có ý tưởng, và đừng copy-paste code từ lời giải này. Hãy tôn trọng người ra đề và người viết lời giải.
Nộp một lời giải chính thức trước khi tự giải là một hành động có thể bị ban.

Dựng một trie chứa tất cả các tên file, và ta đánh dấu các đỉnh mà tại đó là điểm kết thúc của một xâu ~S~ có trong ~n~ files. Việc xoá file khi này cũng tương tự như việc xoá một cây con có không quá ~k~ node được đánh dấu trên trie.

Để tính số lần tối thiểu cần xoá, ta sẽ tham lam và xử lý từ các đỉnh lá của trie ngược về đỉnh gốc của trie. Khi ta tới một đỉnh mà cây con của nó chứa nhiều hơn ~k~ đỉnh đánh dấu, ta tham lam xoá các cây con của các đỉnh con của đỉnh đó theo kích thước giảm dần cho tới khi cây con tại đỉnh gốc đó có kích thước ~\le k~. Ta làm tuần tự lần lượt như vậy cho đến khi về đỉnh gốc của trie.


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.