随笔分类 -  图论

摘要:常用于图论计数 Matrix-Tree定理 BEST定理 LGV引理 P7736 [NOI2021] 路径交点 说是LGV引理的模板 LGV引理 DAG上,从长度为n的集合AB的不交路径数,发现和LGV很像(注意这里的不交是指不过同一结点) 又看到“偶数个交点的方案数-奇数 阅读全文
posted @ 2024-11-11 11:18 Zhone_lb 阅读(17) 评论(0) 推荐(0) 编辑
摘要:建立虚树 先把关键点按dfn升序排序,单调栈维护树上一条链(dfn单增),初始为根节点1 逐个考虑关键点x: 设lca=LCA(x,st[top]),分类讨论: ①若lca=st[top],表明x和\(st[ 阅读全文
posted @ 2024-11-11 10:48 Zhone_lb 阅读(5) 评论(0) 推荐(0) 编辑
摘要:前置知识:点双连通分量 定义 圆方树:对于一个点双内的点,拆除点之间所有相连的边,并和一个代表该点双的点连边 圆点为原图中的点,方点代表一个点双 圆方树有狭义和广义两种 狭义圆方树不把“杠铃形”当作点双,有圆圆边 广义圆方树把“杠铃形”当作点双,只有圆方边 狭义圆方树是解决仙人掌问题的利器,详见li 阅读全文
posted @ 2024-11-02 17:24 Zhone_lb 阅读(8) 评论(0) 推荐(0) 编辑
摘要:欧拉路径 代码 细节较多 link 欧拉回路 中国邮递员问题 求从点s出发,遍历所有边,最后回到s的最短路线 考虑回路的性质:每个点的度都为偶数 那么只需要求将奇度点两两配对的最小代价即可 (算法? P6628 [省选联考 2020 B 卷] 丁香之路 把起点和终点连一条边,则转化为 阅读全文
posted @ 2024-11-02 17:23 Zhone_lb 阅读(16) 评论(0) 推荐(0) 编辑
摘要:网络最大流 EK Dinic+当前弧+剪枝 Dinic:BFS分层,每次只向下一层流 当前弧:流完的边删掉 剪枝:流完的点删掉 细节 加反边时反边容量为0,价值取反,不要搞混了(已经搞错3次了) 剪枝优化尽量不用,如果一定要用的话,注意uv 阅读全文
posted @ 2024-11-02 17:19 Zhone_lb 阅读(10) 评论(0) 推荐(0) 编辑
摘要:2-SAT 拓扑逆序的正确性 反证:设(x,¬x)tpn[x]>tpn[¬x](y,¬y)tpn[y]<tpn[¬y]x,yscc[k],取x与之前取¬y决策矛盾 即\(x \leftr 阅读全文
posted @ 2024-11-02 17:15 Zhone_lb 阅读(3) 评论(0) 推荐(0) 编辑
摘要:强连通分量 细节 对于多点跑tarjan来说,可能会有先访问uv中的v,这导致dfn[v]<dfn[x],后面x跑tarjan时会误把v当成祖先,要加判断 割点 & 割边 删去后使图不连通的点/边 找割边和强连通分量求法大差不差,这里不再赘述 找割点不 阅读全文
posted @ 2024-11-02 17:12 Zhone_lb 阅读(12) 评论(0) 推荐(0) 编辑
摘要:点分治 思想 回想序列分治的做法:递归统计两个区间,在统计跨两个区间的贡献 对应到树上也类似:找一个分割点,统计子树的贡献,再统计跨子树的贡献 由于路径都可以被某一级重心统计到,所以点分治长于做路径统计问题 找树的中心 树的中心:以它为根时的最大子树最小的点 处理方式:开全局变量maxsiz 阅读全文
posted @ 2024-11-02 17:09 Zhone_lb 阅读(3) 评论(0) 推荐(0) 编辑
摘要:二分图染色判定 二分图最大匹配 性质 匹配必须点:即所有最大匹配中都匹配的点(删除该点最大匹配数有变) 非匹配必须点:同理 关于必须点与非必须点的性质: 1、与非必须点相连的点一定是必须点 易证,若为非必须点,则这两点可以相配,不符合最大匹配定义 2、未匹配点一定是非必须点 通过DFS可以在已知最大 阅读全文
posted @ 2024-11-02 17:01 Zhone_lb 阅读(11) 评论(0) 推荐(0) 编辑
摘要:[P5304] 旅行者 集合最短路+二进制拆分 集合最短路 求一个集合S中的点,到任意一个集合T中点的最短路 建立超级源点连S、超级汇点连T即可 二进制拆分 两遍dijkstra染色 [P3953] 逛公园 搜索 考虑搜索出全部合法路径 易想到记录rdis[i]i>n的最短路来剪 阅读全文
posted @ 2024-10-31 17:29 Zhone_lb 阅读(3) 评论(0) 推荐(0) 编辑
摘要:分层图 例1 [P4568] 飞行路线 分层图模板题 给定一张图,你有k次机会将一条边修改权值为0,问最短路 k较小时,可以用分层图解决 例2 [P1266] 速度限制 注意到n,v比较小,考虑分成v层图,但是时间空间会炸 发现每一层对于边u->v的转移相同,考虑只分节点,共用边,即开dis数组开第 阅读全文
posted @ 2024-10-31 17:28 Zhone_lb 阅读(13) 评论(0) 推荐(0) 编辑
摘要:Prim Kruscal Kruscal重构树 由于Kruscal重构树是二叉堆,且瓶颈路最大值在LCA上,可以进行一些树上操作(主席树、树上倍增等) (看看这篇) P4768 [NOI2018] 归程 要求v所在海拔高于p的连通块到结点1的最短路,易知尽量走海拔高的边连通块 阅读全文
posted @ 2024-10-31 17:23 Zhone_lb 阅读(7) 评论(0) 推荐(0) 编辑
摘要:[P5960]【模板】差分约束算法 给出一组包含 m 个不等式,有 n 个未知数的形如: \[\begin{cases} x_{c_1}-x_{c'_1}\leq y_1 \x_{c_2}-x_{c'_2} \leq y_2 \ \cdots\ x_{c_m} - x_{c'_ 阅读全文
posted @ 2024-10-31 17:22 Zhone_lb 阅读(7) 评论(0) 推荐(0) 编辑
摘要:Floyd算法 BFS求01最短路 题目链接 对于边权只有0和1的图,可以用BFS+deque求最短路 具体做法:前端队列存由0边更新的点,后端存由1更新的点,每次松弛从前端取 比较好想,由于是BFS,可以认为本层转移下,0边转移的点dis都相等,1边转移的点dis都相等(不一定正确),那么从前面取 阅读全文
posted @ 2024-10-31 17:21 Zhone_lb 阅读(4) 评论(0) 推荐(0) 编辑
摘要:拓扑序 1、在做DAG DP时,按拓扑序转移,状态可转移完全 2、从拓扑序小的点连向拓扑序大的点,一定不会成环 3、统计结点x可以到达的点数(待解决) Directing Edges 根据性质2,对有向边构成的图跑拓扑,拓扑序小的连向大的即可 正确性由性质2易知,待证明 P3953 [NOI 阅读全文
posted @ 2024-10-31 17:19 Zhone_lb 阅读(7) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示