随笔分类 -  模板

摘要:今天还是刷题 先讲一点闲言碎语 昨天看到一个视频,对我很有启发 就是,我们玩枯萎者,很多时候击杀效率就取决于你的横冲/致命横冲与致命横冲间,直撞转向的敏感度以及速度 因为经常看到,你在直撞的时候转向决策过慢,导致最后出刀人类多跑了一步进模型,或者直接蹲下蛇了 所以在直撞的时候还是要果断一点,观察了玩 阅读全文
posted @ 2025-05-29 15:18 elainafan 阅读(13) 评论(0) 推荐(0)
摘要:今天刷了三道DP 直接看题目: P1541 [NOIP 2010 提高组] 乌龟棋 题目背景 NOIP2010 提高组 T2 题目描述 小明过生日的时候,爸爸送给他一副乌龟棋当作礼物。 乌龟棋的棋盘是一行 \(N\) 个格子,每个格子上一个分数(非负整数)。棋盘第 \(1\) 格是唯一的起点,第 \ 阅读全文
posted @ 2025-05-28 20:01 elainafan 阅读(17) 评论(0) 推荐(0)
摘要:今天,我们来学习线段树 某种意义上这确实算是数据结构里非常优美(甚至可以说是最优美?)的数据结构了 简约的分形美,比树状数组直观很多,处理范围也比较广 具体原理我就不讲了,你只需要知道 这棵树是一棵除了叶节点其他层都是完全二叉树的树 所以,我们在开数组的时候要注意,需要开\(4 \times n\) 阅读全文
posted @ 2025-05-16 00:08 elainafan 阅读(42) 评论(0) 推荐(0)
摘要:好久没有学新算法了! 五一刚好有空 虽然cf那边也要补题,但是不学新算法终究思路拓不开吧 今天复习了一下几年前学的树状数组 我们从一道题开始: P3374 【模板】树状数组 1 题目描述 如题,已知一个数列,你需要进行下面两种操作: 将某一个数加上 \(x\) 求出某区间每一个数的和 输入格式 第一 阅读全文
posted @ 2025-05-01 00:31 elainafan 阅读(45) 评论(0) 推荐(0)
摘要:今天做了书上例题的代码实现 两道绿题都很有意思: 先看第一道: P10928 走廊泼水节 题目描述 给定一棵 \(N\) 个节点的树,要求增加若干条边,把这棵树扩充为完全图,并满足图的唯一最小生成树仍然是这棵树。 求增加的边的权值总和最小是多少。 注意: 树中的所有边权均为整数,且新加的所有边权也必 阅读全文
posted @ 2025-04-08 16:53 elainafan 阅读(27) 评论(0) 推荐(0)
摘要:今天心情很好 加训加训 学习了最小生成树的Kruscal(不知道有没有拼错)算法 我们来看一下模板: P3366 【模板】最小生成树 题目描述 如题,给出一个无向图,求出最小生成树,如果该图不连通,则输出 orz。 输入格式 第一行包含两个整数 \(N,M\),表示该图共有 \(N\) 个结点和 \ 阅读全文
posted @ 2025-04-04 17:24 elainafan 阅读(29) 评论(0) 推荐(0)
摘要:本来我是不想发这道题的 占空间 但是呢 鉴于我被卡了半个上午 重敲了三次之后 我开始醒悟了 这tm是个什么玩意 我们放题目吧: P2294 [HNOI2005] 狡猾的商人 题目描述 刁姹接到一个任务,为税务部门调查一位商人的账本,看看账本是不是伪造的。账本上记录了 \(n\) 个月以来的收入情况, 阅读全文
posted @ 2025-04-04 10:49 elainafan 阅读(18) 评论(0) 推荐(0)
摘要:这次是蓝题! 翻了OI wiki才发现还有个同余最短路这种东西 大为震撼 原来图论还有这种含义 人家本来以为只是在图上解决问题的说 看来还是要多逛OI wiki啊 当年我学OI的时候怎么没这玩意 我们先放题面,便于理解 P3403 跳楼机 题目背景 DJL 为了避免成为一只咸鱼,来找 srwudi 阅读全文
posted @ 2025-04-02 14:27 elainafan 阅读(46) 评论(0) 推荐(0)
摘要:也是刷了一段时间的洛谷最短路题单了 感觉该刷的模版差不多也都刷完了 今天来做个总结叭 Part 1:单源最短路算法 首先是dijkstra算法 该算法对于负边、重边会被卡 但是在正向边的情况是比较快的算法 时间复杂度为O(mlogn) 直接看代码吧(优先队列优化的): #include<bits/s 阅读全文
posted @ 2025-03-03 20:13 elainafan 阅读(34) 评论(0) 推荐(0)
摘要:今天介绍一种最短路情景下的板子题! 主要情景大概是这样: 给一个无向图,从某节点到某节点,中间可以对k条边进行处理,减费或者零费 求最短路 我们有两种解法,先看第一种: 在最短路里跑DP P1948 [USACO08JAN] Telephone Lines S 题目描述 Farmer John wa 阅读全文
posted @ 2025-02-27 22:25 elainafan 阅读(38) 评论(0) 推荐(0)
摘要:今天又来学习图论喵! 我们今天主要讲解一个东西:欧拉回路(路径) 什么是欧拉路径呢? 当然是指一笔画能把所有边都过一遍(包括重边) 而欧拉回路就是指起点和终点一样的回路 那么 我们怎么输出欧拉回路呢? 首先 我们要了解一个性质 在有向图里,如果存在欧拉路径 那么它存在有且仅有一个点出度比入度大一(起 阅读全文
posted @ 2025-02-24 23:02 elainafan 阅读(98) 评论(0) 推荐(0)
摘要:还是学习图论 这篇的重点在于拓扑排序 什么是拓扑排序?给定一个DAG(有向无环图),如果对于一个序列,这个图的每条边的出发点在序列中都在其到达点的后面,那么称这个序列为拓扑排序 那么,拓扑排序怎么求? 给定一个定义:入度 指一个点作为一条有向边的到达点的次数 可以证明,在DAG中,必定存在至少一个点 阅读全文
posted @ 2025-02-17 09:31 elainafan 阅读(51) 评论(0) 推荐(0)
摘要:今天介绍一种新的数据结构:Hash 以及可爱的新STL:set 首先 我们来介绍一下set 什么是set?有点像平衡树 那么什么又是平衡树呢?就是我之前讲过的二叉查找树的优化版本 嗯 我们可以把set理解成一个含有迭代器的类似数组/vector的结构 当然 它有几个特点: 1.内部自动排序 跟map 阅读全文
posted @ 2025-02-16 21:23 elainafan 阅读(31) 评论(0) 推荐(0)
摘要:今天学了一种新的STL(笑) 先看题目 P2814 家谱 题目背景 现代的人对于本家族血统越来越感兴趣。 题目描述 给出充足的父子关系,请你编写程序找到某个人的最早的祖先。 输入格式 输入由多行组成,首先是一系列有关父子关系的描述,其中每一组父子关系中父亲只有一行,儿子可能有若干行,用 #name 阅读全文
posted @ 2025-02-16 09:01 elainafan 阅读(32) 评论(0) 推荐(0)
摘要:学习第二种并查集! 下面我们介绍第二种并查集:“扩展域”并查集 听上去有点玄乎 但是可以从别的角度出发 我们平时做的都是单个集合的并查集 在这里 我们会把每个变量的每个性质剖离作为另外的n个变量 下面来看题目 P2024 [NOI2001] 食物链 题目描述 动物王国中有三类动物 \(A,B,C\) 阅读全文
posted @ 2025-02-12 21:18 elainafan 阅读(104) 评论(0) 推荐(0)
摘要:今天学习提高版的并查集 洛谷200题纪念! 首先我们看题目 P1196 [NOI2002] 银河英雄传说 题目背景 公元 \(5801\) 年,地球居民迁至金牛座 \(\alpha\) 第二行星,在那里发表银河联邦创立宣言,同年改元为宇宙历元年,并开始向银河系深处拓展。 宇宙历 \(799\) 年, 阅读全文
posted @ 2025-02-12 20:51 elainafan 阅读(43) 评论(0) 推荐(0)
摘要:今天开始学习并查集 什么是并查集呢?顾名思义,就是动态维护一个方便进行合并和查找的集合 我们采用的是树状结构 也就是说,对于一开始的每个元素 它的爸爸是它自己 然后在输入两个元素的从属关系的时候,通过路径压缩,把它的爸爸直接连到根节点 因为我们只关心这个元素在这棵树里的从属关系,因此它的位置无关紧要 阅读全文
posted @ 2025-02-12 00:24 elainafan 阅读(53) 评论(0) 推荐(0)
摘要:今天接着学二叉树 说实在话当我看到这题的时候 诶?这给我干哪儿来了 这还是国内吗 然后就翻书学了一种新的数据结构 二叉查找树(又称二叉搜索树) 当然这个用理解记忆就可以了 后面会用平衡树进行完善 因为二叉查找树在退化成链的时候可能会变成O(\(n^2\)) 我们先看一下题目 【深基16.例7】普通二 阅读全文
posted @ 2025-02-10 19:57 elainafan 阅读(111) 评论(0) 推荐(0)
摘要:这个主要是二叉树的大杂烩 [JLOI2009] 二叉树问题 题目描述 如下图所示的一棵二叉树的深度、宽度及结点间距离分别为: 深度:\(4\) 宽度:\(4\) 结点 8 和 6 之间的距离:\(8\) 结点 7 和 6 之间的距离:\(3\) 其中宽度表示二叉树上同一层最多的结点个数,节点 \(u 阅读全文
posted @ 2025-02-09 23:45 elainafan 阅读(93) 评论(0) 推荐(0)
摘要:今天开始学习二叉树 先看第一道题 二叉树的遍历 题目描述 有一个 \(n(n \le 10^6)\) 个结点的二叉树。给出每个结点的两个子结点编号(均不超过 \(n\)),建立一棵二叉树(根节点的编号为 \(1\)),如果是叶子结点,则输入 0 0。 建好树这棵二叉树之后,依次求出它的前序、中序、后 阅读全文
posted @ 2025-02-09 18:31 elainafan 阅读(166) 评论(0) 推荐(0)