最大密度子图
定义一个无向图 G = ( V , E ) G=(V,E) G=(V,E)的密度 D = ∣ E ∣ ∣ V ∣ D=\dfrac{|E|}{|V|} D=∣V∣∣E∣。
给出一个无向图 G = ( V , E ) G=(V,E) G=(V,E),其具有最大密度的子图 G ′ = ( V ′ , E ′ ) G'=(V',E') G′=(V′,E′)称为最大密度子图,即最大化 D ′ = ∣ E ′ ∣ ∣ V ′ ∣ D'=\dfrac{|E'|}{|V'|} D′=∣V′∣∣E′∣。
解法
step1.二分
二分答案 g g g,下界为 1 n \dfrac{1}{n} n1,上界为 m 1 \dfrac{m}{1} 1m,且存在以下引理:
- 任意两个不同密度的子图 G 1 , G 2 G_1,G_2 G1,G2的密度差 ≥ 1 n 2 \geq \dfrac{1}{n^2} ≥n21:
m 1 n 1 − m 2 n 2 = m 1 n 2 − m 2 n 1 n 1 n 2 ≥ 1 n 1 n 2 ≥ 1 n 2 \dfrac{m_1}{n_1}-\dfrac{m_2}{n_2}=\dfrac{m_1n_2-m_2n_1}{n_1n_2}\geq \dfrac{1}{n_1n_2}\geq \dfrac{1}{n^2} n1m