Loading

DAG上必经点和必经边的乱搞做法

出处是 lyd 的蓝书。

有向图上的必经点、必经边问题比较复杂,我们只讨论给定起点和终点 \(s,t\) 的情况。

因为 DAG 的优秀性质,考虑使用乘法原理。
首先我们在原图上做 dp 预处理出 \(s\) 到其他点的走法的数量 \(sn(u)\),再在反图上做 dp 预处理出图上的点到 \(t\) 的走法的数量 \(tn(u)\)
然后我们有结论:

  • \(u\rarr v\) 是割边 \(\iff\) \(sn(u)\cdot tn(v)=sn(t)\)
  • \(u\) 是割点 \(\iff\) \(sn(u)\cdot tn(u)=sn(t)\)

但是一般来说走法数量会大的离谱。于是我们可以考虑 hash 的思想,对几个大质数取模验证即可。

(没有代码)

posted @ 2022-08-03 19:52  pjykk  阅读(65)  评论(0编辑  收藏  举报