首页 > 其他分享 >集训游记 7.19-7.20 图论

集训游记 7.19-7.20 图论

时间:2023-07-19 11:46:50浏览次数:51  
标签:图论 定义 短路 白边 7.20 DFS 7.19 ge Path

最小生成树 MST

P5994 [PA2014] Kuglarz

考虑连边 \(i,j\) 表示花费代价知道区间 \([i,j)\) 的奇偶性.

容易发现 \(i,j\) 联通就可以发现表示出 \([i,j)\).

考虑最终局面,一定要推出每个 \([i,i+1)\) 的奇偶性.要求每对 \([i,i+1)\) 联通.即整张图联通.

最小生成树

k条白边最小生成树

二分附加权.

注意最后的方案,MST 上可能存在代价为 \(w\) 的若干条边可能是白边可能是黑边.不好判断.

考虑优先选白边.在白边数量 \(\ge k\) 的时候记录二分答案.

  • 合法答案存在于白边 \(\ge k\) 的时候.
  • 保证白边 \(\ge k\) 的时候,附加权越大是一定能构造出合法答案.

树的重心

定义

  • 到所有点的带权距离之和最小的点(定义一)
  • 使得最大子树大小最小的点(定义二)

如何从定义一推出定义二呢?一个点若存在一个大小大于 \(\displaystyle \frac{n}{2}\) 的子树,朝那个子树走一定会使距离和变得更小.

性质

  • 两个树相连,新重心在原来的两棵树重心的路径上.

无向图 DFS 树

从 \(u\) 开始搜索,遇到没有访问过的点就当自己的儿子 \((1)\),并继续搜索.否则不管 \((2)\).

\((1)\) 叫做树边.
\((2)\) 叫做非树边(返祖边).

无向图 DFS 树有一个很好的性质:一个点子树中的点互相没有边.

可以解决一些奇怪的题目.

[BZOJ4878]挑战NP-Hard

建出任一棵 DFS 树,若树深度 \(> k\),解决 subtask 2;否则每层染不同的颜色,解决 subtask 1.

拓扑排序

最短路

严格次短路

结论:严格次短路上一定存在一条边,使得它不属于原来的 任何一条最短路.枚举次短的边是哪一条即可.
考虑最短路 DAG,若严格次短路经过的全部都是属于某一条最短路的边,它是最短路 DAG 的一条路径,它就是最短路!

换一种严谨的证明方式,记 \(D_i\) 表示 \(1 \rightarrow i\) 的最短路长度.假设一条严格次短路 \(Path\) 的所有边都存在于某一条最短路,则有 \(\forall e(u \rightarrow v,w) \in Path,D_v=D_u+w\).那么顺序考虑 \(Path\) 中的每一个点,最后可以发现 \(\displaystyle \sum_{e\in Path} w=D_n\).

01 BFS

和我 基础图论 中的内容不谋而和.

当然学到了一点奇技淫巧.比如若存在 \(k\) 种边权,然后 \(k\) 很小,存在一种很轻便的空间复杂度和最短路 最长长度相关 解题方式:维护堆可以桶排开 最长最短路长度 个 vector.然后每次遍历最短路长度最短的点即可.

标签:图论,定义,短路,白边,7.20,DFS,7.19,ge,Path
From: https://www.cnblogs.com/edisnimorF/p/17565168.html

相关文章

  • 7.19总结
    上午起的比较早,五点半起来了,吃了饭去姥姥家一趟,回来后在床上躺了会,看了一下假期前老师发的那个java测试题,大约读了一遍,了解了一下功能需求,其实对于目前的我的来说,感觉还是有些难,希望小学期做完那几个程序系统会给我带来点提升吧。下午就摆了,看了会大道至简,里面有些看不懂,反正今天......
  • 搜索和图论_复习
    DFSAcWing842.排列数字代码#include<bits/stdc++.h>usingnamespacestd;typedefpair<int,int>PII;constintN=10;intpath[N];boolst[N];intn;voiddfs(intx){if(x>n)return;for(inti=1;i<=n;i++){if(st[i]==1)continu......
  • 图论入门
    图论入门符号与定义基础定义:重边:端点和方向(有向图)完全相同的边称为重边。example:1212自环:自己连接自己的边称为自环。example:1111相邻相关:出边&入边从\(u\)出发的边称为\(u\)的出边;到达\(u\)的边称为\(u\)的入边。出度&入度从\(......
  • 重生之我是图论
    djstl:遍历到的点的ans一定是从小到大的   实际应用:修改建图,魔改算法之类次小生成树:最小生成树+枚举剩余边+树上倍增查max笛卡尔树:最大值所管辖的区间,看到“max{}”“对 排序”时可能会选择使用。bfs一般使用前提,边权全部相同dfs找欧拉路径记得倒叙输出(先继续dfs在输......
  • Windows下MySQL 5.7.20的installer 模式安装
    一、安装Windows环境wrar_5.50.0.0_scp.exevcredist2013_x86.exeVC2015_x64.exeNDP452-KB2901907-x86-x64-AllOS-ENU.exeMicrosoft.NET4.0.zip二、installer模式安装MySQL         安装完成以后停止服务、改目录重新准备my.ini参数重新初......
  • 图论乱做
    Kruskal及重构树的应用考虑一个图的边权进行某种限制,可以将边权按顺序考虑,抠出最小生成树进行处理。CF1578L考虑边权的最大生成树上走一定最优,毋庸置疑。能化简的东西尽快化简考虑kruskal算法中,合并两棵子树\(v_1,v_2\)的情况。我们发现如果从正在合并的这条边的左右......
  • 图论中的概念与定义
    匹配图的匹配:选出一组边使得每两条边之间没有公共顶点||选出一组边使得每个点最多只与其中一条边相连点覆盖:选出一个点集使得所有的边都和其中至少一个点相连最大独立集:选出一个点集使得任意两点间没有连边特殊の图正则图树相关......
  • 图论练习
    图论练习学长的题果然恐怖如斯CF1458DFlipandReverse这个操作看着很奇怪\(0\)先看成\(-1\)那可操作的区间就是和为\(0\)对每一个前缀和的值建点,把每种元素看作边那可操作的区间就是一个环然后你会发现一个操作就是相当于是反着走这个环这里我们考虑连成无向边考虑连......
  • 浅谈图论
    多源最短路算法(Floyd)说到最短路,就不得不提到松弛。所谓松弛,就是当存在\(w_{u,v}>w_{u,k}+w_{k,v}\)时,令\(w_{u,v}=w_{u,k}+w_{k,v}\)一般来说,松弛操作后,我们会用松弛后的边不断松弛其他边,而这,就是大部分最短路算法的思路。思考一下,若用DP的思想考虑,那么我们易设出状态\(f_{i......
  • 图论:图的概念、存储和遍历 学习笔记
    图论图的概念从数据结构的角度看,图可以看作一个多对多的数据存储结构。而结合图论算法,图就可以成为很多问题的载体。图论是数据结构与算法结合的产物。OIWiki上给出的图相关概念比较全面,但是因为OI是民科各个地方的一些定义都不太一样,所以作大概了解即可。图的存储图的存......