随笔分类 -  图论

摘要:最大流 题目要求:给出n点 m边 src sink 然后每条边有 u v capacity 求最大流 题目链接P3376 【模板】网络最大流 EK(Edmonds–Karp)算法: \[\begin{align} & \color{Red}时间复杂度O(nm^2) \ & \color{Red}空 阅读全文
posted @ 2024-08-17 18:12 phrink 阅读(8) 评论(0) 推荐(0) 编辑
摘要:2-Sat \[\begin{align*} &\LARGE\color{Red}大意:\ &有n个数a_i,m个约束条件都需要满足\ &条件形如(i,a,j,b) \quad a_i=a \ \text{or} \ a_j=b\\\ &\LARGE\color{Red}思路:\ &让a 阅读全文
posted @ 2024-08-16 20:41 phrink 阅读(4) 评论(0) 推荐(0) 编辑
摘要:P3388 【模板】割点 Note:图可能不联通,因此每次tarjan都要更新root #include <cstdio> #include <stack> #include <cmath> #include <algorithm> #include <iostream> #include <cst 阅读全文
posted @ 2024-08-16 20:38 phrink 阅读(3) 评论(0) 推荐(0) 编辑
摘要:[P2812 校园网络【USACO]Network of Schools加强版 大意:1.图G=(V,E)选几个点可以到达所有的点 2.连多少条边可以让任意一个点出发到达其他所有点1 思路:1.Tarjan 跑一遍求SCC 那些出度为0的点就是出发的所有点 即din0的点的数量 2.计算dout0的 阅读全文
posted @ 2024-08-10 23:11 phrink 阅读(10) 评论(0) 推荐(0) 编辑
摘要:1583Problem - B - Codeforces 题目大意:n个点的无根树 给出m个限制条件 (a,c,b)在a到b路径上不能存在c点,求任意一种可能的树的所有边 注意数据范围:1<m<n<1e5 这说明了最多有n-1个限制条件 这说明至少有一个点不存在限制条件 即这个点可以作为根节点roo 阅读全文
posted @ 2024-08-04 22:58 phrink 阅读(12) 评论(0) 推荐(0) 编辑
摘要:题目链接https://www.luogu.com.cn/problem/P5908 题目大意: \[\begin{align*} & 给定n个点构成一颗树 每条边val=1\ & 求从根节点Root=1开始 \quad 其它所有点v到Root的距离\mathrm{dis(v,Root)} <=\ 阅读全文
posted @ 2024-08-04 21:37 phrink 阅读(7) 评论(0) 推荐(0) 编辑
摘要:LCA最近公共祖先 (1) rootQLCA(a,b)给出一个表格 最近公共祖先 朴素算法 倍增算法 Tarjan算法 树链剖分 数据结构 fa[u],de 阅读全文
posted @ 2024-08-02 16:29 phrink 阅读(3) 评论(0) 推荐(0) 编辑
摘要:【模板】树的直径(dfs &amp; dp)树的直径 给定n个点 n-1条边 和每条边的val 输出直径的大小和 直径上的点的序号 input: 8 1 2 2 1 3 1 1 5 10 2 4 3 4 6 4 3 7 5 7 8 2 output: 19 6 4 2 1 5 法1.DFS 思路:跑两遍dfs 第一次求出一个端点c1,第二次求 阅读全文
posted @ 2024-08-01 20:33 phrink 阅读(22) 评论(0) 推荐(0) 编辑
摘要:介绍5种存图的方法 1.邻接矩阵 const int N =1e3+9; int G[N][N];//G[i][j]即val(i->j) void dfs(int u){ vis[u] = 1; for(int v=1 ; v<=n ; ++v){ if(G[u][v]!=0){ printf("% 阅读全文
posted @ 2024-08-01 19:03 phrink 阅读(3) 评论(0) 推荐(0) 编辑

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