自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 luogu P4513 小白逛公园(维护区间最大子段和)

其实,对于我们的函数,不仅仅是void,int,long long,还可以自己定义返回值,比如这道题,我们的线段树的结构体为 Tree ,那么我们就可以将查询操作的返回值定义为 Tree ,那么int类型只能返回一个值的束缚就没有了。4、对于区间最大子段和,则有三种来源,左子树的最大子段和,右子树的最大子段和,左子树的右端最大子段和和右子树的左端最大子段和拼接起来。3、对于右端的最大子段和,可以是右子树的右端最大子段和,也可以是一整个右子树和左子树的右端最大子段和拼接起来。4、维护区间最大子段和mmax。

2023-11-01 11:36:57 43

原创 c++对拍程序 Windows+Linux

对拍,将两份代码的结果进行文件比较,从而找出一组hack数据,然后你就可以开开心心的对自己的错误代码进行debug了。其实大体上和Windows系统相差不大,稍微注意一下就OK了,(但是不说明细节就是千古罪人),干脆就将Windows系统下的代码复制一遍,再将不同之处标出来就OK了。(绝对不是在水字数)然后再稍微注意一下,Windows比较文件用的是 fc,但是Linux比较文件用的是 diff ,其他就没有太大的问题了。值得注意的是,要留意你的暴力程序的时间复杂度,适当调整一下随机数据的范围。

2023-10-26 16:23:32 194

原创 树链剖分。

树链剖分,就是将一颗树划分成多条链,每次在操作的时候则是对链进行修改。1、重儿子:这个节点的儿子中,子树最大的就是重儿子2、轻儿子:除了重儿子之外的其它子节点叶节点是没有重儿子和轻儿子的。3、轻边:节点与轻儿子连接的边4、重边:节点与重儿子连接的边5、重链:均由重儿子连接而成的一条链6、轻链:均由轻儿子连接而成的一条链。

2023-08-24 17:28:47 28

原创 强连通分量与缩点

如果有一个节点,这两个值相等,它只有两种可能:一种是,它是一个强连通分量中最早被遍历到的点,也就是这个强连通分量的代表节点;例如在一张图中,1,2,3,4是强连通分量,并且含有(1,5)这条边。那么,2,3,4必定可以通过绕圈的方式到达5,这个很容易理解,毕竟2,3,4可以到达1。例如[1,2],[2,3],[3,4],这样的一张图(不会画画),我们就可以知道,1,2,3,4是互相联通的。4、强连通分量:在一张图中,图本身不是强连通的,但是图的子图却有强连通的,则我们称这个子图就是这张图的强连通分量。

2023-07-17 19:45:18 186

原创 单源最短路径

dijkstra 算法是基于贪心思想的一种算法,只能处理没有负边权的图的单源最短路径。

2023-06-29 17:34:27 57

原创 LCA(最近公共祖先)

跳到同一个高度后,再进行跳跃,倒序从 log n 遍历到0,如果两个子节点跳跃长度为2^i时跳到了同一个节点,就说明这个节点是它们的公共祖先,但是不一定是最近公共祖先。当两个节点往上跳一格时,所接触到的节点是相同的,那么可以肯定,这个节点就一定是它们的最近公共祖先了。就比如一条链也可以看作一颗树,两个深度相差很大的子节点,求公共祖先,每次询问的时间复杂度为O(n),多次询问肯定是吃不消的。而最近公共祖先,则是指两个节点共同的祖先中离得最近的一个,也就是深度最大的一个祖先节点。

2023-06-26 13:16:35 57

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除