自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 寒假每日一题(1.9)

农夫约翰将按字典序排列的 头奶牛的名字列表贴在了牛棚的门上。每个奶牛的名字都由一个长度介于 1到 20之间的由小写字母构成的唯一字符串表示。麻烦制造者贝茜将列表中的奶牛名字重新排序打乱了列表。此外,她还对每头奶牛的名字中的字母顺序进行了重新排列(也可能保持不变)。给定修改过后的列表,请帮助约翰确定列表中的每个名字可能出现在原始列表中的最低和最高位置。输入格式第一行包含整数。接下来行,按照修改过后列表的顺序,给出了修改过后的奶牛的名字。输出格式共 行,第行输出给定的第个字符

2022-01-09 20:56:30 247

原创 寒假每日一题(1.6)解析

该题是说我们有一堆相邻的小山,在暴风雨来临期间水平面会上涨慢慢逐步淹没小山,然后未被淹没相邻的地方所连接的就是岛屿,最后求在水平面上涨过程当中某一时刻所能够看到的最大的岛屿数量。那么我们只需要考虑所出现的高度即可,未出现的高度是不会影响小山是否淹没的情况,一共有个高度,因此可以枚举我们的高度,假设在枚举时的高度与键盘所输入的小山高度重合了,那么我们就认为小山被覆盖了。在枚举完之后,随着水平面上涨,我们只需关注变化的小山即可,就是说在水平面未到达前没有被淹没到达后被淹没的小山,那么此时该小山共有四种情况:

2022-01-07 22:07:05 354

原创 寒假每日一题(1.6)

每当下雨时,农夫约翰的田地总是被洪水淹没。由于田地不是完全水平的,所以一些地方充满水后,留下了许多被水隔开的“岛”。约翰的田地被描述为由个连续高度值···指定的一维场景。假设该场景被无限高的围墙包围着,请考虑暴雨期间发生的情况:最低处首先被水覆盖,形成一些不连贯的岛,随着水位的不断上升,这些岛最终都会被覆盖。一旦水位等于一块田地的高度,那块田地就被认为位于水下。上图显示了一个示例:在左图中,我们只加入了刚好超过1单位的水,此时剩下4个岛(最大岛屿剩余数量),而在右图中,...

2022-01-06 21:04:04 351

原创 寒假每日一题(1.5)解析

有提可知本题是在1000*1000的坐标轴内有若干个干草捆,拖拉机移动时遇到干草捆才能移动,通过键盘给出拖拉机的初始位置,求拖拉机移动到原点所需移动的最少的干草捆,具体图示如下图所示,x代表干草捆,s代表拖拉机的位置,t表示原点。那那么此题我们可以转化为求最短路的问题,那么此时可以设有障碍物时的点权为1,空地的点权为1,那么所需要移走最少障碍物的数量就等于我们所求最短路的权值和,即求点权只有0和1的最短路径问题此时可以采用双端队列广搜算法,其原理是将当前可以扩展到的点的权重为0时,将其加入队首;权重为1

2022-01-06 21:03:14 341

原创 每日一题(1.5)

干了一整天的活,农夫约翰完全忘记了他把拖拉机落在田地中央了。他的奶牛非常调皮,决定对约翰来场恶作剧。她们在田地的不同地方放了捆干草,这样一来,约翰想要开走拖拉机就必须先移除一些干草捆。拖拉机的位置以及捆干草的位置都是二维平面上的整数坐标点。拖拉机的初始位置上没有干草捆。当约翰驾驶拖拉机时,他只能沿平行于坐标轴的方向(北,南,东和西)移动拖拉机,并且拖拉机必须每次移动整数距离。例如,驾驶拖拉机先向北移单位长度,然后向东移动单位长度。拖拉机无法移动到干草捆占据的位置。请帮助约翰确

2022-01-05 20:08:59 365

原创 每日一题(1.4)解析

由题意可知,该题的目的是保证有2个X字符的连通块,只能横着或者竖着添加字符,最后寻找最少加几个x字符可以将两个连通块连接起来。由于该题的数据范围为50*50一共2500个点,所以可以直接枚举。利用dfs将两个连通块分开,表上不同的记号。然后任意多个将两个连通块连接的x构成的折线等价于这两个点之间的曼哈顿距离-1,所以直接枚举两个连通块之间的点的曼哈顿距离是多少,然后更新最小答案即可。下面给出,两点间的曼哈顿距离的计算方法:c++代码参考:#include<bits/stdc+

2022-01-05 20:08:26 655

原创 寒假每日一题(1.4)

听说最近两斑点的奶牛最受欢迎,约翰立即购进了一批两斑点牛。不幸的是,时尚潮流往往变化很快,当前最受欢迎的牛变成了一斑点牛。约翰希望通过给每头奶牛涂色,使得它们身上的两个斑点能够合为一个斑点,让它们能够更加时尚。牛皮可用一个 ×的字符矩阵来表示,如下所示:..................XXXX....XXX......XXXX....XX....XXXX......XXX..........XXXXX............XXX....其中,表示斑点部分。如果两个在

2022-01-04 22:00:00 145

原创 寒假每日一题(1.3)解析

通过题意我们可知,该题给我们一个长度最多为的数组,最多25000个操作,在初始状态下数组的每个元素均为0,每个操作是将数组的其中一段的每个堆全部加上1(当然不同的操作区间内是会有重叠的),最后所求的是在进行完所有操作之后,所有数的中位数是多少。那么该题所涉及的模型即为我们常见的差分模型。如果对差分模型不了解的可以点击如下的差分算法介绍:差分算法介绍下面给出相应的代码参考:c++代码://在我们数量级达到10的五次方以上的级别的时候,推荐大家使用scanf、printf会比cin、cou

2022-01-04 21:00:00 337

原创 寒假每日一题(1.3)

贝茜对她最近在农场周围造成的一切恶作剧感到抱歉,她同意帮助农夫约翰把一批新到的干草捆堆起来。开始时,共有个空干草堆,编号 ~。约翰给贝茜下达了 个指令,每条指令的格式为A B,这意味着贝茜要在范围内的每个干草堆的顶部添加一个新的干草捆。例如,如果贝茜收到指令10 13,则她应在干草堆 10,11,12,13中各添加一个干草捆。在贝茜完成了所有指令后,约翰想知道个干草堆的中值高度——也就是说,如果干草堆按照高度从小到大排列,位于中间的干草堆的高度。方便起见,一定是奇数,所以中间堆是唯一..

2022-01-03 20:38:01 171

原创 寒假每日一题(1.2)解析

通过题目分析,我们可以知道该题是通过键盘分别输出一个二进制和一个三进制数,然后在0~的范围内找到一个数,使得分别在二进制和三进制表示下与从键盘输入的两个数据分别只有一位不同。那么很容易想到的思路便是暴力枚举0~范围内的所有数,枚举完之后再将数转化为二进制和三进制分别判断即可,但该种做法时间复杂度为,显然超出了题目所要求的时间。因此,我们可以反向进行枚举从而降低时间复杂度,即先枚举和从键盘所输入的二进制数只有一位不同的数,那么与键盘所输入数据不同的情况只有4中情况即该数的第一、二、三、四位分别与所输入的数

2022-01-03 20:37:09 490

原创 寒假每日一题(1.2)

寒假每日一题分享,题目每晚十点发布,解析次日晚九点发布,周六不发布习题

2022-01-02 16:39:02 250

空空如也

空空如也

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

TA关注的人

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