MAXimal

���������: 6 Sep 2011 1:03
�������������: 16 Nov 2011 23:48

���������� [������]

Heavy-light ������������

Heavy-light ������������ — ��� ���������� ����� ����, ������� ��������� ���������� ������ ������ ������, ���������� � �������� �� ������.

���������� ������ ����� ������ ���� — ��� ��������� ������. ���� ������, ������ ������� �������� ��������� �����-�� �����. ��������� ������� ���� (a,b), ��� ab — ������ ������ ������, � ��������� ������ ������������ ����� �� ���� ����� ��������� ab.

�������� ���������

����, ����� ���� ������ Gn ���������, ����������� �� ��������� ������.

���� ���� ������������ � ���, ����� ������� ������ �� ��������� ����� ����� �������, ����� ��� ����� ������� v ����������, ��� ���� �� ����� ����������� �� v � �����, �� �� ���� ������ �� ����� \log n �����. ����� ����, ��� ���� ������ �� ������������ ���� � ������ �� �����.

�������, ��� ���� �� �������� ������ ����� ������������ ��� ������ ������, ��� �������� ������ ����� ������ ���� "������ ���-�� �� ���� �� ab" � ���������� �������� ���� "������ ���-�� �� ������� [l;r] k-�� ����".

���������� heavy-light ������������

��������� ��� ������ ������� v ������ � ��������� s(v) (�.�. ��� ���������� ������ � ��������� ������� v, ������� ���� �������).

�����, ���������� ��� ����, ������� � �������� �����-���� ������� v. ������ ����� (v,c) ������, ���� ��� ���� � ������� c �����, ���:

 s(c) \ge \frac{ s(v) }{ 2 } ~~~~ \Leftrightarrow [...]

��� ��������� ���� ������ ������. ��������, ��� �� ����� ������� v ���� ����� �������� �������� ���� ������ ����� (�.�. � ��������� ������ � ������� v ���� �� ��� ���� ������� s(v)/2, ��� � ������ ����� ������� v ��� ������ 2 \cdot s(v) / 2 + 1 > s(v), �.�. ������ � ������������).

������ �������� ���� ������������ ������ �� ���������������� ����. ���������� ��� �������, �� ������� �� ������� ���� �� ������ ������� �����, � ����� ���� �� ������ �� ��� �����, ���� �� ����� �� ����� ������ ��� �� ������ ����� �����. � ���������� �� ������� ��������� ����� — �������, ��� ��� � ���� ������� ���� heavy-light ������������.

�������������� ������������ ���������

��-������, �������, ��� ���������� ���������� ���� ����� �����������������. � ����� ����, ���� �� ��� �����-�� ���� ����� �� ����� �����, ��� �� ��������, ��� �� �����-�� ������� ������� ���� ��� ������ �����, ���� ���� �� �����.

��-������, �������, ��� ��������� �� ����� ������ �� ������������ �������, �� ������ �� ���� �� ����� \log n �����. � ����� ����, ������ ���� �� ������ ����� ��������� ������ �������� ��������� ����� ��� �����:

 s(c) < \frac{ s(v) }{ 2 } ~~~~ \Leftrightarrow ~~[...]

����� �������, �� �� ����� ������ ����� \log n ����� ����. ������ ���������� � ������ ���� �� ������ �� ����� ������ ����� ����� ����� (�.�. ������ ����, ����� ��������������� � �����, �������� ����� ����� � �����; � ������� ����� ���������� ���� �� �� �����).

�������������, �� ���� �� ����� �� ����� ������� �� �� ����� ������� ����� \log n �����, ��� � ����������� ��������.

���������� ��� ������� �����

��� ������� ����� ������ ������ ������� ������������� heavy-light ��� ����� ��������-���������������� ����� (� �� �����-����������������). ��� ����� ���������� �� ������� ���� ��������� ��������� �����, ���� ��� �������� ����� ������ — ����� ������� �������� �� ���������, �� ������ ������ ������� ����� ������������ ����� ������ ����.

���� �� ���������� ��������� �������� �����, ������� ����� ������ � ������� heavy-light ������������.

�������� ����� �������� �������� �� ������ ����� ����� �� ����, ��������� ��� ������ ������, ������� ����� ���� ������ � ����� �������� ���������.

������������ ����� �� ���� ����� ����� ���������

���� ������, ������ ������� �������� ��������� �����-�� �����. ��������� ������� ���� (a,b), ��� ab — ������ ������ ������, � ��������� ������ ������������ ����� �� ���� ����� ��������� ab.

�������� ������� heavy-light ������������. ��� ������ ������������ ���� �������� ������ �������� ��� ���������, ��� �������� ������ ������� � ������������ ����������� ������ � ��������� �������� ���������� ���� �� O (\log n). ���� ����� ����� � heavy-light ������������ ����� ��������� n-1, ��������� ������ ���� ����� ���� �������� O(n), ������� � ��������� ������ �������� �������� ����� ����� ��������.

������, ��� ���� ����� �������� �� ����������� ������ (a,b) ����� ����������� ������ ������ l ���� ������ (��������, ������� ��������� �������). ������ ������ ������� � ���� ��������: (a,l)(b,l), �� ������ �� ������� �� ����� �������� ����� �������: �����, � ����� ���� ����� ������ �������, ������� ������ � ����� ����, ������� � �������-����� ����� ����, ����� ���������, � ����� �� ���� ��������� � ������� ������ � ����, � ��� �����, ���� �� ����� �� ����, ����������� l.

��������� ������� ���� �� �������, �����, ��������, al ��������� � ����� ���� — ����� ������ ��������� � ����� ���� ���� ������ �� �� ��������, � �� ���������� ����������.

����� �������, � �������� ������ �� ���� ��������� �� ������ �� O (\log n) �����, � ������ �� ��� ������ ������ ��������� �� �������� ��� �� ��������/���������� (������ �� ��������/���������� ��� ���� ������ ���� ���).

��� �� �������� ������� �� O (\log^2 n) �� ���� ������.

���� ��� ������������� ������������� �� ������ ���� ��������� �� ���� ���������, �� ��������� ������� �� O (n \log n) — �.�. ������ ��������� �� �� �������� ��������� ������ ���� ���, ����� �� ������� �� ������� l.

����� ����� �� ���� ����� ����� ���������

���� ������, ������ ������� �������� ��������� �����-�� �����. ��������� ������� ���� (a,b), ��� ab — ������ ������ ������, � ��������� ������ ����� ����� �� ���� ����� ��������� ab. �������� ������� ���� ������, ����� ������������� ������ ������� ��������� �����, ������������ ��� ��� ���� �������.

���� ��� ������ ����� ������ � ������� heavy-light ������������, �������� ��� ������ ���� ������ �������� ��� ����� (��� ������ ������������ ��������� �����, ���� � ������ ����������� ������� ���������), ��� ������ ����� ���� ������ ����� �������� ���������.

���� ������� ����������� �����������, �� �������� ����� �� ���� ����� ����� ��������� ����� ����������� � ������� LCA ���� ������ � ��������� ��������� ������� — ��� ����� ���������� �� ����� �������������� ��� LCA ������������ �� ������ 2^k-�� ������� ������ �������, �� � ����� ����� �� ���� �� ����� ������.

���� � ������������� ������ ������ � ���� ������ — ����������� ������� ����� ������, � ��������� ������ �������� ��� ���. ���� �������� ��������������� � ������ � �������� ������� ������. (� ���� ������� ����������� ����������� — �� ���������� �������� ������������ ��������� ����, ��� ������ ��������.)

��� ���� ������� ���� ������������ ������� ������� � ������������ O (\log n) �� ���� ������.

���������� ���� ���� ����� ����� ���������

���� ������, ������ ����� ���������� ��������� � ����� ����. ��������� ������� ���� (a,b,c), ��� ab — ������ ������, c — ����, ��� ��������, ��� ��� ���� �� ���� �� ab ���� ����������� � ���� c. ��������� ����� ���� �������������� ��������, ������� � ����� ���������� ���� ������� �����.

������� — ������ ������� ������ �������� � ��������� �� ������� ��� ������� ����� heavy-light ������������.

������ ������ ���������� �� ���� (a,b) ����������� � ��� ���������� (a,l)(b,l), ��� l — ���������� ����� ������ ������ ab (���������, ��������, ���������� ��������� �������), � ������ �� ���� ����������� — � O (\log n) �������� � �������� �������� ��� ������.

����� ���������� ������� � ������������ O (\log^2 n) �� ���� ������.

������ � online judges

������ �����, ������� ����� ������, ��������� heavy-light ������������: