《有关树的算法》PPT课件.ppt
《《有关树的算法》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《有关树的算法》PPT课件.ppt(39页珍藏版)》请在三一办公上搜索。
1、树,胜利一中 王子昱,概要,定义&性质树的遍历Dfs序,Bfs序&欧拉序LCA问题树形DP*树分治题目选讲,定义&性质,定义(之一):联通、无环的无向简单图每个顶点都是割点,每条边都是割边NOI07 追捕盗贼在树上添加一条边会得到一个环在生成树相关的问题中很有用的性质树是二分图关键字N个顶点,n-1条边的联通图任意两点间有且只有一条路径每个点向东至多连一条边(NOI2008道路设计)Et cetera,树的遍历,深度优先遍历,和图的dfs一致先序遍历,中序遍历,后序遍历DFS序,DFS序,深度优先遍历得到的序列:Dfs(x)list.push_back(x)For every child ch
2、 of x:Dfs(ch)List.push_back(x)记录第一次访问和最后一次访问,abeeffbcgghhiicdjjda()()()()()(),DFS序:性质,一棵子树对应一段连续的序列abeeffbcgghhiicdjjda或者是abefcghidja例题给定一棵节点带权的树两种操作A I delta:以I为根的子树内节点权值+deltaQ I:求以I为根的子树的权值和树状数组|线段树维护dfs序,abeeffbcgghhiicdjjda()()()()()(),DFS序:性质,改动一下刚才的代码:Dfs(x)list.push_back(+x)For every child c
3、h of x:Dfs(ch)List.push_back(-x)考虑这个序列从+a到+g的和+a+b+e e+f f b+c+g正负抵消后就是从a到g的路径!,abeeffbcgghhiicdjjda()()()()()(),例题,一棵节点带权的树,两种操作A I delta:点i的权增加deltaQ I j:输出从i到j的路径上点的权值和直接套用刚才的方法?,abeeffbcgghhiicdjjda()()()()()(),例题,反例:从e到c+e e b+ce-c a-e+a-c weighta(+a+b+e)+(+a+b+e e+f f b+c)aQ(u,v)=Q(w,u)+Q(w,v)
4、weightw,W=LCA(u,v)什么是LCA?一会再说树状数组|线段树维护DFS序,abeeffbcgghhiicdjjda()()()()()(),广度优先遍历,图的BFS使用队列BFS序,BFS序,广度优先遍历得到的序列Bfs(x)Que.push(x)While not Que.empty()Y=que.pop()List.push_back(y)For every child ch of yque.push(ch)同一深度的节点形成一个连续的区间Algorithm Engagement 2010 Firm这道题涉及的一些东西超纲了=,abcdefghij,欧拉序列,以根为起点的欧拉
5、回路应用:LCA(最近公共祖先)问题:LCA(u,v)表示u和v的深度最大的公共祖先图中LCA(g,h)=c,LCA(g,j)=a给欧拉序列里的每个点加权,点i的权值是i的深度于是u,v的LCA是欧拉序列中u,v之间深度最小的点证明?,abebfbacgchcicadjda,e.g.abebfbacgchcicadjda0121210121212101210LCA(g,h)=c,树形DP,SPOJ PT07X,树的最小覆盖最小覆盖:选出点集的最小子集使得每条边至少有一个端点在该点集中二分图:转化为匹配f1i表示选择i时,以i为根的子树的最小覆盖;f0i表示不选i时的最小覆盖转移,SPOJ PT
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 有关树的算法 有关 算法 PPT 课件

链接地址:https://www.31ppt.com/p-5529796.html