比较神的构造,被对手 10min 秒了。
看到 74 和 outi≤2,然后就应该想到 74=20+21+2222,尝试将 n 划分为 3 个集合。感觉比较结论,所以直接说了。将 n 划分成 3 个无交且并为全集的集合 A,B,C,满足
∀a∈A,{∀u→a,u∈C}
∀b∈B,{∃u→b,u∈A},{∃u→b,u∈B}
∀c∈C,{∃u→c,u∈B}
分类讨论一下,不难发现 A,B,C 交且并为全集。由于 ∀b∈B,∃a→b,∣B∣≤2∣A∣,同理,∣B∣≤2∣C∣,即 4∣A∣≥2∣B∣≥∣C∣,∣C∣≤74n。删除 C 中的所有点后 A 的入度都是 0,B 的出度都是 0,故最多只有 a→b 的边,满足条件。
因为是 DAG,分集合时可以做拓扑排序。复杂度线性。