随笔分类 - 图论
摘要:题目链接:P3398 仓鼠找 sugar - 洛谷 | (luogu.com.cn) 题目大意:判定一棵树上的两条边是否相交 Tag: [LCA] [树上两点间距离的计算] [如何判断与点在某条路径上] 思路: \[\begin{align} &1.建图\\ &2.\text{dfs}然后\ 计算出
阅读全文
摘要:题目链接https://www.luogu.com.cn/problem/P5908 题目大意: \[\begin{align*} & 给定n个点构成一颗树 每条边val=1\\ & 求从根节点Root=1开始 \quad 其它所有点v到Root的距离\mathrm{dis(v,Root)} <=\
阅读全文
摘要:LCA最近公共祖先 \[\begin{align} 要求 \ 给出一个树和他的根节点\text{root} \quad给出Q个询问 回答\text {LCA}(a,b) \end{align} \]给出一个表格 最近公共祖先 朴素算法 倍增算法 Tarjan算法 树链剖分 数据结构 fa[u],de
阅读全文
摘要:
树的直径 给定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,第二次求
阅读全文
树的直径 给定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,第二次求
阅读全文
摘要:介绍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("%
阅读全文

浙公网安备 33010602011771号