自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 题解 赦免战俘

现有2n∗2n(n<=10) 名作弊者站成一个正方形方阵等候 kkksc03 的发落。kkksc03 决定赦免一些作弊者。他将正方形矩阵均分为 4 个更小的正方形矩阵,每个更小的矩阵的边长是原矩阵的一半。其中左上角那一个矩阵的所有作弊者都将得到赦免,剩下 3 个小矩阵中,每一个矩阵继续分为 4 个更小的矩阵,然后通过同样的方式赦免作弊者……直到矩阵无法再分下去为止。所有没有被赦免的作弊者都将被处以棕名处罚。给出 n,请输出每名作弊者的命运,其中 0 代表被赦免,1 代表不被赦免。

2023-11-13 20:07:53 29

原创 单词接龙 题解

单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“龙”(每个单词都最多在“龙”中出现两次),在两个单词相连时,其重合部分合为一部分,例如 beast 和 astonish,如果接成一条龙则变为 beastonish,另外相邻的两部分不能存在包含关系,例如 at 和 atide 间不能相连。n 行每行有一个单词,输入的最后一行为一个单个字符,表示“龙”开头的字母。只需输出以此字母开头的最长的“龙”的长度。输入的第一行为一个单独的整数。

2023-11-11 23:53:21 40 1

原创 Calmsym学习数据结构与算法之 线段树

在之前的学习中,关于数组维护,我们已经学习了前缀和,差分以及树状数组,对于不同的体型我们可以运用不同的数据结构来进行维护,今天我们来讲一个更为通用的数据结构–线段树线段树(Segment Tree) 是一种基于分治思想的二叉树结构(问什么是二叉树请百度),相比于树状数组里运用二进制分解来储存区间,线段树是将一个线性结构(比如数组)表示为一棵树,每个节点表示一个区间,叶节点来表示单个元素,线段树更易理解也更为通用,被广泛使用于算法竞赛中,唯一的缺点可能是他的代码量相当大…

2023-11-09 23:32:57 38 1

原创 Calmsym学习数据结构与算法之 树状数组(2)

在前一部分的学习中,我们了解了什么是树状数组,它的原理是什么,我们对其做了一定的知识储备今天我们进一步了解,树状数组如何实现,他又是如何维护数组,等一系列操作的关于树状数组的基础学习到这里就结束了,对于这一数据结构在处理逆序对等问题上效果优异。在关于数据结构的学习之后一定要多加刷题来巩固知识。下一部分我们将继续学习一种更加通用的数据结构—线段树。

2023-11-07 20:00:19 27

原创 Calmsym学习数据结构与算法之 树状数组(1)

今天我们继续学习维护区间的数据结构与算法;在之前的学习中,我们学习了前缀和与差分,实现了如何维护区间和,以及区间查询,修改在前缀和与差分两中数据结构上,我们知道对于维护区间和的查询只需要O(1)但是对于单点或者区间修改的时间复杂度却是O(n)我们试图寻找一种结构,他对于两种维护的时间复杂度都尽可能少---树状数组树状数组(BIT Binary Index Tree)所以树状数组的实质是二进制下标树,对于它的实现与二进制无法分割为什么会与二进制扯上关系?

2023-11-05 23:18:45 41 1

原创 calmsym学习数据结构与算法之 前缀和与差分

在比赛或者写题中,我们时常遇到需要我们执行区间维护或区间修改的题目或者是通过这一操作来达成某些功能最终AC题目。今天我们来学习前缀和与差分,入门区间维护与查询算法的学习前缀和与差分是我们初入区间维护,修改,查询这类操作的第一门算法前缀和与差分对于区间查询和区间修改的效率很高,但是对于单点查询,他有其局限性,在后面我们还会学习树状数组线段树等数据结构与算法进一步深入学习区间维护的操作方法。

2023-11-03 16:09:50 33

原创 Calmsym学习数据结构与算法之--并查集

数据结构与算法是每一个CS人的必经之路路漫漫其修远兮,今天总结的是关于数据结构的并查集思路1. 维护一个数组f,用f[x]保存元素x所在集合的代表。这种方法可以达到O(1)的查询速度,但是在合并时需要大量修改元素的 f 值,效率低下思路2. 使用树形结构储存每个集合。在一棵树中,树的节点就可以充当集合中的元素,树的根即为集合元素的代表。所以并查集实际是一片森林。我们可以通过维护数组fa来记录这片森林(多个集合),fa[x]保存x的父节点,特别的树根的父节点为他本身(代表)2.代码实现。

2023-11-02 22:57:06 30

原创 Calmsym学习数据结构与算法之 二叉堆

数据结构与算法是每一个CS人的必经之路路漫漫其修远兮,今天总结的是关于数据结构的二叉堆二叉堆是一种支持插入、删除、查询最值的数据结构实际上 二叉堆是一种满足堆结构的完全二叉树此二叉树的每个节点带有权值,每个父节点下有两个子节点(二叉树性质)其满足每个父节点的权值 ≥ 或者 ≤ 其任意子节点的权值,则称其具有“大根堆性质”或”小根堆性质“

2023-10-31 23:05:02 30 1

原创 校赛T2 个人思路+实现

比赛时没能完成对最短路 路径数的统计,实际上只需要并查集统计或者反向最短路,将更新命令转换为判断即可,对于上述所讲的数据结构和算法也没有进一步解释,主要还是没什么时间想水篇题解。

2023-10-30 23:00:00 23

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除