07 2019 档案

摘要:我们通常会遇到维护一个序列(区间)的问题,如区间修改,区间查询,单点修改,单点查询。 A:我会暴力! B:我会分块!! 可是题目数据是个出题人就会卡暴力,只要1e5就轻松卡掉你。有人说他可以手动开O1,O2,O3,那都是弟弟们的做法。所以我们正式引入数据结构--线段树。 线段树 线段树是一棵二叉树, 阅读全文
posted @ 2019-07-31 10:29 milkitblogcn 阅读(254) 评论(0) 推荐(0)
摘要:逆元 逆元是一个非常牛逼的东西。求法很多,又很实用。 它可以分为乘法逆元和加法逆元: 乘法逆元:如果ab==1(mod p)则我们称b是a关于p的(乘法)逆元; 加法逆元:如果a+b=0则我们称b是a的(加法)逆元。 a^-1==b(mod p)-> ab==1(mod p) a^-1==b(mod 阅读全文
posted @ 2019-07-28 12:21 milkitblogcn 阅读(329) 评论(0) 推荐(1)
摘要:LCA(Least Common Ancestors) 是解 决很多树上问题都必须应用到的东西。 对于点集 S = a1, a2, ..., an 的最近公共祖先 LCAS 为 S 的 所有公共祖先中深度最深的那个。 即最近公共祖先,是指在有根树中,找出某两个结点u和v最近的公共祖先。 对于有根树T 阅读全文
posted @ 2019-07-26 20:11 milkitblogcn 阅读(456) 评论(0) 推荐(1)
摘要:浅谈分块 区间修改,单点查询 众所周知,这种题线段树是可以跑得下来的,但是线段树的常数太大了,前几天本蒟蒻改一道线段树题改到自闭,调好之后就被卡掉了,太可怕了。蒟蒻就手残,打了一篇博客...... 分块大法 对于任意一个序列{a},给定两种操作: 0:给定l,r,c把l-r中a[i] (l=<i<= 阅读全文
posted @ 2019-07-26 19:48 milkitblogcn 阅读(260) 评论(0) 推荐(0)
摘要:Tarjan算法是由Robert Tarjan发明的求有向图中强连通分量的算法。 强连通: 如果两个顶点可以相互通达,则称两个顶点 强连通(strongly connected)。如果有向图G的每两个顶点都 强连通,称G是一个强连通图。非 强连通图有向图的极大强连通子图,称为强连通分量(strong 阅读全文
posted @ 2019-07-26 19:43 milkitblogcn 阅读(233) 评论(0) 推荐(1)