随笔分类 - 模板
摘要:也是刷了一段时间的洛谷最短路题单了 感觉该刷的模版差不多也都刷完了 今天来做个总结叭 Part 1:单源最短路算法 首先是dijkstra算法 该算法对于负边、重边会被卡 但是在正向边的情况是比较快的算法 时间复杂度为O(mlogn) 直接看代码吧(优先队列优化的): #include<bits/s
阅读全文
摘要:今天介绍一种最短路情景下的板子题! 主要情景大概是这样: 给一个无向图,从某节点到某节点,中间可以对k条边进行处理,减费或者零费 求最短路 我们有两种解法,先看第一种: 在最短路里跑DP P1948 [USACO08JAN] Telephone Lines S 题目描述 Farmer John wa
阅读全文
摘要:今天又来学习图论喵! 我们今天主要讲解一个东西:欧拉回路(路径) 什么是欧拉路径呢? 当然是指一笔画能把所有边都过一遍(包括重边) 而欧拉回路就是指起点和终点一样的回路 那么 我们怎么输出欧拉回路呢? 首先 我们要了解一个性质 在有向图里,如果存在欧拉路径 那么它存在有且仅有一个点出度比入度大一(起
阅读全文
摘要:还是学习图论 这篇的重点在于拓扑排序 什么是拓扑排序?给定一个DAG(有向无环图),如果对于一个序列,这个图的每条边的出发点在序列中都在其到达点的后面,那么称这个序列为拓扑排序 那么,拓扑排序怎么求? 给定一个定义:入度 指一个点作为一条有向边的到达点的次数 可以证明,在DAG中,必定存在至少一个点
阅读全文
摘要:今天介绍一种新的数据结构:Hash 以及可爱的新STL:set 首先 我们来介绍一下set 什么是set?有点像平衡树 那么什么又是平衡树呢?就是我之前讲过的二叉查找树的优化版本 嗯 我们可以把set理解成一个含有迭代器的类似数组/vector的结构 当然 它有几个特点: 1.内部自动排序 跟map
阅读全文
摘要:今天学了一种新的STL(笑) 先看题目 P2814 家谱 题目背景 现代的人对于本家族血统越来越感兴趣。 题目描述 给出充足的父子关系,请你编写程序找到某个人的最早的祖先。 输入格式 输入由多行组成,首先是一系列有关父子关系的描述,其中每一组父子关系中父亲只有一行,儿子可能有若干行,用 #name
阅读全文
摘要:学习第二种并查集! 下面我们介绍第二种并查集:“扩展域”并查集 听上去有点玄乎 但是可以从别的角度出发 我们平时做的都是单个集合的并查集 在这里 我们会把每个变量的每个性质剖离作为另外的n个变量 下面来看题目 P2024 [NOI2001] 食物链 题目描述 动物王国中有三类动物 \(A,B,C\)
阅读全文
摘要:今天学习提高版的并查集 洛谷200题纪念! 首先我们看题目 P1196 [NOI2002] 银河英雄传说 题目背景 公元 \(5801\) 年,地球居民迁至金牛座 \(\alpha\) 第二行星,在那里发表银河联邦创立宣言,同年改元为宇宙历元年,并开始向银河系深处拓展。 宇宙历 \(799\) 年,
阅读全文
摘要:今天开始学习并查集 什么是并查集呢?顾名思义,就是动态维护一个方便进行合并和查找的集合 我们采用的是树状结构 也就是说,对于一开始的每个元素 它的爸爸是它自己 然后在输入两个元素的从属关系的时候,通过路径压缩,把它的爸爸直接连到根节点 因为我们只关心这个元素在这棵树里的从属关系,因此它的位置无关紧要
阅读全文
摘要:今天接着学二叉树 说实在话当我看到这题的时候 诶?这给我干哪儿来了 这还是国内吗 然后就翻书学了一种新的数据结构 二叉查找树(又称二叉搜索树) 当然这个用理解记忆就可以了 后面会用平衡树进行完善 因为二叉查找树在退化成链的时候可能会变成O(\(n^2\)) 我们先看一下题目 【深基16.例7】普通二
阅读全文
摘要:这个主要是二叉树的大杂烩 [JLOI2009] 二叉树问题 题目描述 如下图所示的一棵二叉树的深度、宽度及结点间距离分别为: 深度:\(4\) 宽度:\(4\) 结点 8 和 6 之间的距离:\(8\) 结点 7 和 6 之间的距离:\(3\) 其中宽度表示二叉树上同一层最多的结点个数,节点 \(u
阅读全文
摘要:今天开始学习二叉树 先看第一道题 二叉树的遍历 题目描述 有一个 \(n(n \le 10^6)\) 个结点的二叉树。给出每个结点的两个子结点编号(均不超过 \(n\)),建立一棵二叉树(根节点的编号为 \(1\)),如果是叶子结点,则输入 0 0。 建好树这棵二叉树之后,依次求出它的前序、中序、后
阅读全文
摘要:今天开始学一点数据结构 (右下角小火箭可以回到页首) 大家应该都能看出来这题应该用的是单调栈 我们先来看看单调栈的模版 P5788 【模板】单调栈 题目背景 模板题,无背景。 2019.12.12 更新数据,放宽时限,现在不再卡常了。 题目描述 给出项数为 \(n\) 的整数数列 \(a_{1 \d
阅读全文
摘要:A*B Problem 题目背景 高精度乘法模板题。 题目描述 给出两个非负整数,求它们的乘积。 输入格式 输入共两行,每行一个非负整数。 输出格式 输出一个非负整数表示乘积。 样例 #1 样例输入 #1 1 2 样例输出 #1 2 提示 每个非负整数不超过 10^2000。 入坑OI这么久 发现还
阅读全文