Editorial for Truyền tin


Remember to use this editorial only when stuck, and not to copy-paste code from it. Please be respectful to the problem author and editorialist.

Submitting an official solution before solving the problem yourself is a bannable offence.

Coi mỗi học sinh là 1 đỉnh, mỗi đường liên lạc 1 chiều là 1 cung có hướng của đồ thì ta có nhận xét:

  • Nếu ta truyền tin cho bất kì 1 đỉnh nào trong thành phần liên thông mạnh \(X\) thì tất cả những đỉnh thuộc thành phần liên thông mạnh đó và những thành phần liên thông mạnh \(Y\) (có \(u->v\) với \(u\) thuộc \(x\)\(v\) thuộc \(Y\)) đều nhận đc thông tin.

  • Do đó ta sử dụng thuật toán tarjan để tìm các thành phần liên thông mạnh. Sau đó ta dùng mảng \(dd\) để đánh dấu với ý nghĩa nếu \(dd[i]=1\) thì thành phần liên thông mạnh \(i\) k phải truyền tin vào bất kì 1 đỉnh nào cả. Để làm được điều này ta duyệt qua tất cả các cung có hướng \(u->v\). nếu \(lt[u]!=lt[v]\) thì gán \(dd[v]=1\).



Comments

There are no comments at the moment.