- 博客(9)
- 收藏
- 关注
原创 【算法笔记】斜率优化
斯,斜率优化有一段时间没碰了,上次还是在脱产的时候,刚才推了一边式子,发现没有写过博客,于是补一篇qwq注:例题是cyh教我的一道题,也是我写斜优的第一道题。
2023-08-17 21:27:21 114
原创 [POI1999]原始生物 题解
在一个连通块内如果要使答案最优,那必然不能重复走其中的某一条边,如果走了的话答案将会多 22。该问题等价于:在一个图中,找到所有的连通块,并统计它们对答案的贡献。那在这个连通块内,每一个点的贡献即为它的入度与出度的最大值。由于欧拉回路的起点和终点是重复的点,所以答案应该加 11。但细分析可以发现,我们可以把该题抽象成一道图论的问题。其实这道题乍一看不像是一道图论的题目,而是构造。而欧拉路径一定会遍历到所有的边,则。所以最优解一定是走一条欧拉路径。更多详细的讲解放在代码里了。
2023-08-17 21:23:25 110
原创 2-SAT详解
我们知道,tarjan算法中的dfn序是拓扑序的逆序,而拓扑序越大,则可能性越多,所以我们需要让dfn序尽量小。而在tarjan算法中所求得的强连通的编号越小,则代表该强连通分量内的dfn序越小,则更优。则,我们可以把这些有依赖关系的元素(即2-SAT的建立规则)连一条边,构成一个图。而根据相对元素的原理,如果我们选择了u′,那我们一定要选择v,反之亦然。不难发现,如果一个强连通分量内如果有依赖关系,则会导致矛盾,该情况无解。那我们则可以判断u和u+n是否在一个强连通分量内,如果在,则无解。
2023-08-17 21:18:47 176
原创 树链剖分 详解
重/轻儿子:对于任意一个非叶节点的节点,都会有一个重儿子,其定义为其儿子节点中所在节点最多子树的子节点,其余为轻儿子。重/轻边:由一个节点连向它的重儿子的边叫做重边,其余的叫做轻边。重链:指由重链构成的极大路径。(如图,红色点为重儿子,白色点为轻儿子,红色边为重边,白色边为轻边)观察上图,我们可以发现一个轻儿子都是一个重链的顶点,且每一个重链的dfs序都是连续的。(优先遍历重儿子)
2023-08-17 21:15:54 82
原创 CDQ分治/三维偏序 详解
先简述一下题意现在有一个长度为n的序列,每一个元素有三个属性,求对于每一个元素i,满足aj≤ai,bj≤bi,cj≤ci的j的个数我们先来从特殊化入手。
2023-08-17 21:13:44 152
原创 线段树详解
假如现在有一个问题,让你修改一段区间的数,并询问任意一段区间的和,你该怎么办?方法一:暴力修改加查询---------------不可以,时间复杂度太高了方法二:利用前缀和查询---------------也不可以,修改怎么办呢?方法三:线段树维护区间---------------可以~~~
2023-08-17 21:09:04 55
原创 RMQ详解
(1)RMQ问题(Range Minimum/Maximum Query)顾名思义,是一个区间最值问题,通俗来说就是某一段区间的最大或最小值(2)RMQ问题与ST表的区别:RMQ指的是一类问题,而ST表是求这一类问题的一种具体方法。
2023-08-17 21:05:27 1295
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人