摘要: 查看原题请戳这里 突然感觉qxy和小z是同种生物莫队的一道裸题虽说莫队算是一种暴力的算法,但ta依然是某些题目的正解的。(dfs:我不服) 这道题是需要我们经过一定的数学推导才可以做出来的。具体过程如下:对于L,R的询问。 设其中颜色为x,y,z的袜子的个数为a,b,c… 那么答案即为 (a*(a- 阅读全文
posted @ 2020-08-14 15:34 AuroraPolaris 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 隔了几个月,又开始写博客了qwq kruskal时间复杂度为O(nlogn)它的算法思路是这样的:我们根据边的权值将所有边排序,然后枚举每条边,用并查集去查询这条边的两个端点是否在同一集合内,若在同一集合内,则删掉这条边,若不在同一结合则加入这条边,并将这两个端点所在的集合合并。附一下代码: 123 阅读全文
posted @ 2020-08-14 15:33 AuroraPolaris 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 有splay的标签其实用two-pointer就能轻松搞定时间复杂度为O(n)我们可以发现,将数据答案一定是数据的某两个区间的长度和。对于判断一个区间是否能够被放到一个架子上,只需要判断这个区间的首尾数据的差是否超过了k。 这里,我们可以用两个two-pointer来线性枚举区间,最后枚举这两个区间 阅读全文
posted @ 2020-08-14 15:32 AuroraPolaris 阅读(122) 评论(0) 推荐(0) 编辑
摘要: title: 线段树-学习 date: 2019-08-02 10:03:56 tags: NULL 前言:线段树是一种二叉搜索树,能通关TA实现修改、区间查询等功能……( 相信大家都懂的……)好吧,在这里,我们就来介绍线段树的单点修改、区间修改以及区间查询的方法。 单点修改,区间查询Emmmmmm 阅读全文
posted @ 2020-08-14 15:31 AuroraPolaris 阅读(117) 评论(0) 推荐(0) 编辑
摘要: ·拓扑排序是什么呢?我们先来看一下标准解释:对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边(u,v)∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称为满足拓扑次序(Topol 阅读全文
posted @ 2020-08-14 15:30 AuroraPolaris 阅读(207) 评论(0) 推荐(0) 编辑
摘要: title: 树-学习 date: 2019-08-02 10:03:56 tags: NULL 树的直径定义 给定一棵树,树中每条边都有一个权值,树中两点之间的距离定义为连接两点的路径边权之和。树中最远的两个节点之间的距离被称为树的直径,连接这两点的路径被称为树的最长链。后者通常也可称为直径,即直 阅读全文
posted @ 2020-08-14 15:29 AuroraPolaris 阅读(787) 评论(0) 推荐(0) 编辑
摘要: 查看例题请戳这里 这里我们从易到难来介绍三种求逆序对数的方法。 top1:暴力枚举 时间复杂度:\(O(n^2)\) emmmmm…… 这好像真的没什么可说的…… code: for(int i = 1; i < n; i++) for(int j = i + 1; j <= n; j++) if( 阅读全文
posted @ 2020-08-14 15:27 AuroraPolaris 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 定义欧拉路径(欧拉通路):通过图中所有边的简单路。(换句话说,每条边都通过且仅通过一次)也叫”一笔画”问题。欧拉回路:闭合的欧拉路径。(即一个环,保证每条边都通过且仅通过一次)欧拉图:包含欧拉回路的图。 起源在一个图中求解一条欧拉回路的问题,起源于欧拉提出的、著名的“七桥问题”。详见百度百科。 判定 阅读全文
posted @ 2020-08-14 15:26 AuroraPolaris 阅读(392) 评论(0) 推荐(0) 编辑
摘要: ·什么是离散化?离散化,把无限空间中有限的个体映射到有限的空间中去,以此提高算法的时空效率。通俗的说,离散化是在不改变数据相对大小的条件下,对数据进行相应的缩小。 ·为什么要用、什么时候要用离散化呢?如果让你吧1000个1到1000的数放到桶里,那么非常简单,直接开一个大小为1000的数组,然后在里 阅读全文
posted @ 2020-08-14 15:25 AuroraPolaris 阅读(290) 评论(0) 推荐(0) 编辑
摘要: 作用 高斯消元可以用来解线性方程组,也有一些别的用途。 算法流程 我们来看这样的一个方程组: $ x+y+z=3$ $2x+3y+z= 6$ $4x+y+2z=7$ 然后我们把每一项的系数提取出来,就得到如下的矩形 : $1 \ 1 \ 1 \ 3 $ \(2 \ 3 \ 1 \ 6\) \(4 \ 阅读全文
posted @ 2020-08-14 15:23 AuroraPolaris 阅读(137) 评论(0) 推荐(0) 编辑
摘要: ARX:我今天上午做了两个分层图最短路的题,可简单了……概念 分层图最短路是指在可以进行分层图的图上解决最短路问题。一般模型是:在图上,有k次机会可以直接通过一条边,问起点与终点之间的最短路径。 算法思路这是一个类似于DP的思路。用直接通过的边把整个图分成k个子图,其中k为可以直接通过的边的个数。在 阅读全文
posted @ 2020-08-14 15:22 AuroraPolaris 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 基本概念Hash,一般翻译做“散列”,也有直接音译为“哈希”的。那么哈希函数的是什么样的?大概就是 value = hash(key),我们希望key和value之间是唯一的映射关系。 大家使用的最多的就是哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问 阅读全文
posted @ 2020-08-14 15:21 AuroraPolaris 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 前言SPFA算法由于它上限O(NM)的时间复杂度,被卡掉的几率很大.在算法竞赛中,我们需要一个更稳定的算法:dijkstra 什么是dijkstra?dijkstra是一种单源最短路径算法,时间复杂度上限为O(n^2)(朴素),在实际应用中较为稳定;加上堆优化之后更是具有O((n+m)log^2 n 阅读全文
posted @ 2020-08-14 15:20 AuroraPolaris 阅读(225) 评论(0) 推荐(0) 编辑