Loading

摘要: 出处是 lyd 的蓝书。 有向图上的必经点、必经边问题比较复杂,我们只讨论给定起点和终点 $s,t$ 的情况。 因为 DAG 的优秀性质,考虑使用乘法原理。 首先我们在原图上做 dp 预处理出 $s$ 到其他点的走法的数量 $sn(u)$,再在反图上做 dp 预处理出图上的点到 $t$ 的走法的数量 阅读全文
posted @ 2022-08-03 19:52 pjykk 阅读(65) 评论(0) 推荐(0) 编辑
摘要: 今日水博客( 众所周知我们使用链式前向星存图会有这样几句话: struct edge{int to,nxt;}e[maxm]; e[++cnt]=(edge){v,h[u],val}; h[u]=cnt; for(int i=h[u];i;i=e[i].nxt) { int p=e[i].to; / 阅读全文
posted @ 2022-08-03 19:27 pjykk 阅读(24) 评论(0) 推荐(0) 编辑
摘要: OI-wiki 真是个好东西。 我们在求强连通分量或双连通分量的时候,常常会用 Tarjan 算法来进行缩点。 但是我们也有不用 Tarjan 的连通分量算法。 1. Kosaraju 算法 如果我们要求的是有向图上的强连通分量,使用 Kosaraju 算法是一个不错的选择。 该算法的码量相比 Ta 阅读全文
posted @ 2022-08-03 19:27 pjykk 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 双连通分量的~~简单~~应用。 有向图的话就要上支配树了,可能之后会学(? 1. 无向图必经边 边双缩点。 显然一个边双内的结点间不可能有必经边,于是我们把所有的边双缩成一个点,用割边连起来,然后在形成的树上操作就行了。 代码懒得写了( 2. 无向图必经点 ~~圆方树~~点双缩点。其实就是一个东西。 阅读全文
posted @ 2022-08-03 19:27 pjykk 阅读(78) 评论(0) 推荐(0) 编辑