自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 洛谷——P1003 铺地毯

现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设,后铺的地毯覆盖在前面已经铺好的地毯之上。接下来的 n 行中,第 i+1 行表示编号 i 的地毯的信息,包含四个整数 a,b,g,k,每两个整数之间用一个空格隔开,分别表示铺设地毯的左下角的坐标 (a,b) 以及地毯在 x 轴和 y 轴方向的长度。地毯铺设完成后,组织者想知道覆盖地面某个点的最上面的那张地毯的编号。第 n + 2 行包含两个整数 x 和 y,表示所求的地面的点的坐标 (x,y)。输出共 1 行,一个整数,表示所求的地毯的编号;

2023-01-31 23:33:23 274

原创 最小生成树——普利姆(Prim)算法

构成连通网的最小代价生成树称为最小生成树(Minimun Cost Spanning Tree).最小生成树可以运用到生活中,假如你是一位工程师,需要为一个镇的九个村庄架设通信网络做设计,村庄位置大值如下图:其中 V0~V8 是村庄,之间连线的数字表示村与村间的可通达的直线距离,比如 V0 至 V1 就是 10 千米(个别如 V0 与 V6,V6 与 V8,V5 与 V7 为测算距离是因为有高山或者湖泊,不予考虑)。你们领导要求你必须用最小的成本完成本次任务。该怎么做?这是一个带权值的图,即网状结构。

2023-01-30 23:20:28 565

原创 洛谷——P8630 密文搜索

那么考虑用哈希算法,把八个字母对应的值累加,为了避免这样的情况:s1字符串是 “ aaaacccc ”,s2字符串是 “ bbbbbbbb ”,这样的之间把字母对应的值相加,会重复,那么由于八个字母是固定的,我们直接设置一个 c 数组,存放每个字母额外要乘的值,这样相加时,可以很好避免重复的情况。输入第一行:一个字符串 s,全部由小写字母组成,长度小于 1024×1024。一个整数,表示每行密码的所有排列在 s 中匹配次数的总和。紧接着是 n 行字符串,都是小写字母组成,长度都为 8。

2023-01-15 23:17:59 115

原创 洛谷——P1002 过河卒

仔细观察题目可以发现一个规律,毕竟这个 “ 卒 ” 只能往下走和往右走,那就说明:如果要求走到一个位置(x,y)有多少种方法,我就可以先求出这个位置(x,y)的上面那个位置(x-1,y)的方案数,再求出这个位置(x,y)的左边那个位置(x,y-1)的方案数,二者相加就表示走到(x,y)位置的方案数了。棋盘上 A 点有一个过河卒,需要走到目标 B 点。首先想到的是搜索,先用的是深度搜索,然后时间超限了,但是深搜没有什么能改的地方,所以我试了下广度搜索,也是不行的。

2023-01-13 17:42:12 534

原创 散列表——哈希表(hash)

可以通过查找关键词不需要比较就可以获得需要记录的存储位置。这就是一种新的存储技术——散列技术。散列技术既是一种存储方法,也是一种查找方法。散列技术是在记录的存储位置和它的关键词之间建立一个确定的对应关系 f,使得每个关键字 key 对应一个存储位置 f(key)。查找是,根据这个确定的对应关系找到给定值 key 的映射 f(key),若查找集合中存在这个记录,则必定在 f(key)的位置上。这里的对应关系 f 成为散列函数,又称为哈希(Hash)函数。

2023-01-12 20:25:25 141

原创 KMP模式匹配算法

​对于KMP算法,刚接触可能会很迷糊,它用在哪?怎么用?我们应该都做过这样一类题,就是两个字符串 s1 和 s2,比较较长的字符串 s1 是否包含 字符串 s2,这个听上去很简单,不过事实也的确如此,但是如果这个字符串很长呢?对于字符串 s1 是 “ aaaaaaaaab ”,字符串 s2 是 “ aaab ”,那么要将字符串 s2 遍历 7 遍才行,它的时间复杂度是 O(N*M)(注:N 为 s1 的长度,M 为 s2 的长度)。如果 s1 和 s2 都足够长呢?比如说字符串 s1 的前都是

2023-01-11 12:00:00 101

原创 洛谷——P1102 A-B数对

给出一串正整数数列以及一个正整数 C,要求计算出所有满足 A−B=C 的数对的个数(不同位置的数字一样的数对算不同的数对)。这个题直接用暴力解不可行,因为数据太多了,而且存储的类型不能用 int,得用 long long。首先,看题目,是找 A-B=C 的数对个数,那么可以转化成 A+C=B,一行,表示该串正整数中包含的满足 A−B=C 的数对的个数。我们需要想一个可以节省时间的方法,毕竟一个一个遍历行不通。对于 75% 的数据,20001≤N≤2000。第二行,N 个正整数,作为要求处理的那串数。

2023-01-10 11:30:39 1070 1

原创 洛谷——P3375 【模板 】KMP字符串匹配

给出两个字符串 s1​ 和 s2​,若 s1​ 的区间 [l,r] 子串与 s2​ 完全相同,则称 s2​ 在 s1​ 中出现了,其出现位置为 l。最后一行输出 ∣s2​∣ 个整数,第 i 个整数表示 s2​ 的长度为 i 的前缀的最长 border 长度。对于 s2​,你还需要求出对于其每个前缀 s′ 的最长 border t′ 的长度。的子串 t,满足 t 既是 s 的前缀,又是 s 的后缀。现在请你求出 s2​ 在 s1​ 中所有出现的位置。输出 s2​ 在 s1​ 中出现的位置。

2023-01-09 23:15:06 140

原创 音乐播放列表 C

这个题目最开始我是这样想的,一个循环把总时长减去每首歌曲的时长,若是总时长减完单首歌曲时长之后,接着对下一歌曲进行同样操作。所以我想到了 while 循环,输入每首歌曲时长时,就把歌曲列表的总时长求出来,然后放在将 t-sum>0 当做循环继续的条件,这样时间复杂度就低了很多。打印一个整数,表示播放列表开始播放后正好几秒钟正在播放的歌曲,以及一个整数,表示自该歌曲开始以来经过的秒数,用空格分隔。接着还是不对,时间超限了,还得找其他简单的方法,毕竟在极端条件下:五首歌曲,每首歌曲两秒钟,但是总时长为。

2023-01-08 22:56:54 72

原创 洛谷——P1455 搭配购买(并查集)

这个题要运用背包,并查集的知识,但是用二维dp数组过不了,会超限,得用一维滚动数组。听说在某个网站上有卖云朵的,小朋友们决定一同前往去看看这种神奇的商品,这个店里有 nn 朵云,云朵已经被老板编号为 1,2,3,...,n1,2,3,...,n,并且每朵云都有一个价值,但是商店的老板是个很奇怪的人,他会告诉你一些云朵要搭配起来买才卖,也就是说买一朵云则与这朵云有搭配的云都要买,电脑组的你觉得这礼物实在是太新奇了,但是你的钱是有限的,所以你肯定是想用现有的钱买到尽量多价值的云。

2023-01-06 22:31:52 80

原创 洛谷——P1827 美国血统 American Heritage

你的任务是在被给予奶牛家谱的“树中序遍历”和“树前序遍历”的符号后,创建奶牛家谱的“树的 后序遍历”的符号。他把他的奶牛 们的家谱作成二叉树,并且把二叉树以更线性的“树的中序遍历”和“树的前序遍历”的符号加以记录而 不是用图形的方法。做这个题首先要了解:前序遍历、中序遍历和后序遍历, 前中后指的是:根结点在左子树和右子树之间的位置。树的中序遍历是按照左子树,根,右子树的顺序访问节点。树的前序遍历是按照根,左子树,右子树的顺序访问节点。树的后序遍历是按照左子树,右子树,根的顺序访问节点。

2023-01-05 16:48:43 93

原创 堆——神奇的优先队列

堆是一种特殊的完全二叉树。完全二叉树中,所有父结点的值都比子结点得值要小,被称为最小堆;反之,被称为最大堆。树,是指任意两个结点间有且只有一条路径的无向图(没有回路的连通无向图)。为了确定一棵树的形态,在树中可以指定一个特殊的结点——根。将树中的每一个点称为结点。如上图,左边这棵树的树根是 1 号结点,右边这棵树的树根是 3 号结点。根又叫做根结点,一棵树有且只有一个根。根结点有时候也被称为祖先

2023-01-04 11:14:10 69

原创 城市地图和最少转机问题

该邻接矩阵表示了任意两个城市之前的路程,比如 e[1][2] 的值为 2 就表示从 1 号城市到 2 号城市的路程为 2 公里,而 e[1][3] 的值为 ∞,表示目前从 1 号城市不能到达 3 号城市。用深度搜索解题是这样:根据邻接矩阵,从 1 号城市出发,可以到达 2 号城市和 5 号城市;1->2 其中如果先到 2 号城市,从 2 号城市出发,可以到达 3 号城市和 5 号城市;1->2->3 其中然后先到 3 号城市,从 3 号城市出发,可以到达 4 号城市;1->2->3-

2023-01-03 15:42:42 160

原创 图的遍历解读深度搜索和广度搜索

从顶点 1 开始,沿顶点 1 的边去尝试访问其他未被访问的顶点;首先顶点 2 还没有走到过,于是来到了 2 号顶点。再以 2 号顶点作为出发点继续尝试访问其他未走过的顶点;这样就走到了 4 号顶点。再以 4 号顶点作为出发点继续尝试其他为走到过的顶点。但是此时不能继续访问其他未走过的顶点了。所以要返回 2 号顶点,返回 2 号顶点之后,也不能返回其他未被走过的顶点了;接着返回到 1 号顶点,从 1 号顶点可以访问到 3 号顶点,再以 3 号顶点作为出发点访问;然后可以走到 5 号顶点,此

2023-01-02 22:16:59 122

原创 洛谷——p1825 Corn Maze

去年秋天,农夫约翰带着奶牛参观了一个玉米迷宫。但这不是普通的玉米迷宫:它有几个重力驱动的传送滑梯,可以让奶牛从迷宫中的一个点瞬间传送到另一个点。滑梯是双向工作的:一头牛可以从滑梯的起点瞬间滑到终点,或者从终点滑到起点。如果一头牛踩在滑梯两端的空间上,她必须使用滑梯。玉米迷宫的外面除了一个出口,全是玉米。迷宫可以用一个N x M表示。玉米,#表示,这些格子是不可以通过的。草地,.表示,可以简单的通过。传送装置,每一对大写字母 A到 Z表示。出口,=表示。起点,@表示

2023-01-01 12:00:00 252

Maven安装包及其仓库

Maven安装包及其仓库

2023-09-17

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

TA关注的人

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