• 2024-07-12Letter Exchange
    这道题目看官方题解就好了,这个转换图论挺显然的证明一下为什么最后一定是显然练完贬值后图只能长成这个样子在消掉长度为\(2\)的环后,如果说图没边了,那么显然就不用交换了,否则的话我们任取一条边那么对于\(2\)号点来说,要么没出边,要么出边的终点是\(3\)号点(因为没有长度为\(2
  • 2024-04-11树链剖分 学习笔记
    随便写一点。1.原理定义重儿子为子树内子树大小最大的任一个点,重边为重儿子向其父亲连的边,其余为轻边。根据定义,轻边的父亲的子树大小一定不小于这个点的子树大小的二倍。又可以证出重边数量是\(O(\logn)\)的。因此可以用线段树维护这个东西。2.应用2.1dsu2.2lca考
  • 2024-03-19平面拆分
    引言题目链接:https://www.luogu.com.cn/problem/P8720思路首先可以画一个n=3的图找规律:可以发现划分的平面数有如下的规律:重边只有首次出现的那条会影响结果加入一条没有重边的直线,划分平面数+1新加入的直线与之前加入的直线有a个不同的交点,则划分平面数+a
  • 2024-02-05Prim算法
    问题描述有一张\(n\)个顶点、\(m\)条边的无向图,且是连通图,求最小生成树。Prim算法简析\(Prim\)算法是一种求最小生成树的算法。设该图为\(G=(V,E)\)。最小生成树即所求为\(G_T=(V_T,E_T)\),因为图是连通的,所以最小生成树会覆盖所有的顶点,即\(V==V_T\)。\(G_T\)
  • 2024-02-03矩阵树
    无向图给定一个无向图,有重边无自环,\(A\)为其邻接矩阵,\(D\)为其度数矩阵。其基尔霍夫矩阵为\(D-A\)。\(\det(K')\)即为该无向图生成树数量,其中\(K'\)为任意一个\(n-1\)阶余子式。有向图给定一个无向图,有重边无自环,\(A\)为其邻接矩阵,\(D_{in}\)为其入度矩阵,\(D_{out}\)为其出度
  • 2024-01-25P4338 历史笔记
    神题啊!神题(赞叹)题意形式化题意:给定一棵\(n\)个点的树,第\(i\)个点有点权\(a_i\)。且每个点都有颜色,初始时颜色都为\(1\),第\(i\)个点的颜色是\(c_i\)。你可以对一个点\(x\)进行一次操作:计数有多少\(v\),满足\(v\)在\(x\to1\)的路径(包含\(x\)和\(1\))上,且
  • 2023-12-12图的基础概念和深搜广搜序
    有关图的定义图是由若干给定的顶点及连接两顶点的边所构成的图形,这种图形通常用来描述某些事物之间的某种特定关系。顶点用于代表事物,连接两顶点的边则用于表示两个事物间具有这种关系。图论起源于著名的柯尼斯堡七桥问题(下图所示),该问题于1736年被欧拉解决,因此普遍认为欧拉是图
  • 2023-12-10P7735 [NOI2021] 轻重边 题解
    是一道树剖好题,之前听lsl讲过一点,于是很快就做出来了。题意:有一个\(n\)个节点的树,最开始的时候所有边都是轻边,维护两个操作:操作一:将\(u\)到\(v\)的路径中经过的所有点的邻边变为轻边,再将这条路径上的边变为重边。操作二:求出\(u\)到\(v\)这条路径上有多少条重边
  • 2023-10-25【学习笔记】广义串并联图方法
    还是比较【小粉兔】的。广义串并联图是指一类不存在同胚于\(K_4\)的子图的图,翻译成人话就是不存在四个点\(a,b,c,d\)使得这四个点之间存在六条除顶点外不相交的路径连接每一对点。广义串并联图有几个性质:\(m\le2n\),为平面图;通过若干次删\(1\)度点,缩\(2\)度点,叠
  • 2023-10-07浅谈树链剖分—轻重链剖分
    闲话似乎会有很多种树剖,什么长链剖分之类的,但是暂时只会轻重链剖分(可怜)。以前的版本在这里,但是感觉写的太粗糙了,所以决定重写一篇(我也不知道为什么要一直写树剖而不写点别的)。正文引入如果给出一个序列,有一些区间修改查询之类的操作,直接上线段树什么的就完事了,但是如果给出的
  • 2023-09-24NOI 2021 补全记录
    来补题了昂。D1T1轻重边对于原树进行重链剖分,使用一颗线段树维护每一条重边是否时“重边”,然后对于轻边,在父亲出维护最后一次通过\(1\)操作清空“重边”的时刻,在查询时只会遇到\(O(\logn)\)条轻边,直接查询这个轻边时“重边”的时刻是否晚于父亲清空的时刻即可。D1T2路径
  • 2023-08-12树链剖分
    引入维护一棵树,支持两种操作改变边权|边权询问路径中最大权(或其他)BF的期望是\(O(\logn)\),但是容易退化成\(O(n)\),所以引入树链刨分,这里用轻重链刨分轻重链刨分记\(SIZE_i\)表示以\(i\)为根的子树的节点个数,那么对于\(x\)为的子节点\(y\),若\(SIZE_y\)