Advertisement
trungore10

sol_lamps | Mr.Dong

Sep 3rd, 2018
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.19 KB | None | 0 0
  1. - Với n <= 20 --> duyệt trâu nhị phân để làm
  2. - n > 20 :
  3. + n lớn để làm duyệt nhị phân
  4. + ta sẽ nghĩ đến việc chia cây thành các phần nhỏ hơn với mong muốn có thể duyệt nhị phân
  5. + trên 1 cái cây sẽ luôn tồn tại 1 điểm mà khi vứt đi điểm đó thì các thành phần liên thông khi cắt ra sẽ có số lượng
  6. phần tử <= n/2
  7.  
  8. * Chứng minh : đi từ trên lá lên thì mình sẽ lấy node gần lá nhất mà số lượng con của nó > n/2, minh cắt nó đi, thì sẽ chia thành các thành phần liên thông. (điểm cắt gọi là u)
  9. + thành phần liên thông chứa cha của u --> chắc chắn sẽ có số con <= n/2 do số lượng con của u đã là > n/2 rồi.
  10. + thành phần liên thông chứa con của u --> giả sử mà nó có số con > n/2 thì thuật toán đã lấy nó thay vì lấy u.
  11.  
  12. * Ta đã chia bài toán về các thành phần nhỏ hơn với số lượng nút trong 1 thành phần liên thông là <= 15 --> có thể duyệt nhị phân. Câu hỏi đặt ra là mình nối các bài toán lại ntn ?
  13. + Mình sẽ xét 2 trường hợp là đổi màu của đỉnh cắt và không đổi màu của đỉnh cắt
  14. + Trong cả 2 trường hợp đều xét với mỗi thành phần liên thông là 2 kiểu là :
  15. @ giá trị nhỏ nhất để đổi thành phần liên thông thành màu xanh sao cho không bấm vào nút kề với đỉnh cắt (array
  16. type0), và có bấm vào đỉnh cắt (array type1)
  17. @ nếu mà đỉnh cắt có màu đỏ thì số lượng mình lấy type1 sẽ là số lẻ lần, ngược lại là số chẵn lần
  18. @ cách xử lí thì mình cứ sort lại theo type1 - type0 rồi lấy
  19.  
  20. * Note : trong bài của mình thì coi màu xanh là 0 còn màu đỏ là 1, ngược lại với đề nên mình đã đổi lại ở phần đọc
  21. * Note : Mạnh đọi có cách dp trên cây : coi mỗi đỉnh có trọng số riêng rồi dp trên cây (nó chưa chịu spoil cách làm), liên hệ Mạnh để biết thêm thông tin chi tiết
  22.  
  23. LINK CODE : https://pastebin.com/Ks2EbEpR
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement