自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 力扣hot100——哈希部分总结

由于group作为unordered_map,不能直接使用01234类的索引而是需要提供键,所以应该使用这种方式来遍历 const auto& pair:groups。unordered_set表示set是用哈希表实现,因此查找,插入,删除的时间复杂度O(1)。set.count()可以判断一个数在不在set中。使用哈希表的好处:降低查找的时间复杂度至O(1),而暴力遍历的时间复杂度为O(n)。一组中所有的异位词(值)都可以对应到同一个排好序的键中。​该键,并赋予默认值(如。来进行查找,非常快速。

2025-07-10 21:50:29 291

原创 力扣hot100——双指针部分总结

双指针的遍历与直接套两层for循环不同的是,通常我们会根据题目要求来设置不同的判断条件,使得满足了特定条件后,才去移动一个指针,而不是说一定需要遍历所有情况,那样复杂度就变成O(n²)了。那么我们在做题的时候,得先从原理的角度,考虑设计什么样的判断条件来移动其中一个指针。双指针其实就是指设置两个索引去遍历数组,一般双指针分为两种:一种是快指针(fast)和慢指针(slow);另一种是左指针和右指针(left,right)。力扣hot100双指针部分主要用它来实现二元组的列表或者三元组的列表。

2025-07-07 22:14:58 329

原创 蓝桥杯Python冲刺果酱之Acwing每日一题题解·上一

Acwing的y总推出了蓝桥杯备赛的每日一题,碰巧看到有人在组团,只要一块钱我就直接报了。做下来感觉挺符合蓝桥杯的比赛风格,至少前一半里大多是暴力模拟枚举题,正好练一练自己打暴力的能力。

2025-03-24 17:20:25 725

原创 蓝桥别冲刺国奖day04——贪心

难度很高,自然的想法是直接把最大的扶起来,又考虑到了比如[1,1,1,0]的特例,但是没有写对代码,后来看题解写的。多举几个例子就会发现,只要遇到不一样的部分就直接翻转就是最优解,并且遍历一次,就一定能达到和目标列表完全一致的情况(如果遍历一次不能,那么再翻转再多次也不可能)。在第一次做的时候想复杂了,考虑到了以下情况,担心最大的和最小的结合,可能会浪费,纠结了挺久,但是后面用笔写出来就一下发现是想多了。第二,注意到有一个空瓶时,依然可以提高目标瓶子中的珠子数量,先给空瓶加两个,再给目标瓶子增加珠子数量。

2025-02-23 16:00:23 338

原创 蓝桥杯冲刺国奖day03——前缀和&差分

最简单的类型就是单用前缀和或者差分,稍难一点的话,在单用一种算法的基础上,会加上一些实际情境增加代码量,再难一些就是前缀和和差分一起考。首先求出原区间和,接着对原数组排序,对于区间用差分算出现次数,累加差分数组得到每一个索引对应的出现次数,排序,两数组依次相乘得到最大的情况,最后用最大和减去原和。差分相对于前缀和,会更加露骨,因为差分的性质是区间相加,当遇到区间集体变化的时候,很容易就能想到差分。所以,在遇到一些大量区间求和时,例如在循环体内区间求和,就可以提前写好前缀和数组,利用性质求和,避免超时。

2025-02-17 15:19:18 619

原创 蓝桥杯冲刺国奖day02——日期类

但是一开始实现的时候卡住了,后面参照题解写了实现,自己对于python的一些语法特性运用的没有那么好。基本思路就是使用日期类加模拟,需要把特殊符号转化为数字,其实就是一个类似翻译的过程。1.查找字符串中有没有出现某个字符,直接if a in b就行。2.对于连续的数字,中间用空格或者逗号分离的,用map取出。另外时间对象的year,month等属性都是可以通过。以上是时间类datetime的一些基本用法。3.可以直接将数组赋值给对应长度数量的元素。调用的,并且类型为int。

2025-02-09 17:39:48 264

原创 蓝桥杯国奖冲刺day01——模拟篇

有一个特殊情况,鼠鼠当时脑子短路,不符合的情况下加2,偏偏题目样例还碰巧过了,结果到最后,一跑只过了20%的样例。后面用极端情况查出错来,蓝桥杯比赛时是不给答案正确与否的,以此告诫自己比赛时要多设计几种样例来测试。本鼠鼠是跟着蓝桥云课准备的,感觉课程中的模拟类题目都不难,就当是练练手感了。因此我们只需要遍历DNA序列,在不匹配的情况下,尽可能采取第一种操作改对两组碱基对,就能使步数最小了。遍历DNA序列,如果符合第一种操作,更改并且次数加1,不符合,直接加1。已经匹配的碱基对对结果没有影响。

2025-02-08 23:39:57 207

原创 Trading off Between User Coverage and NetworkRobustness for Edge Server Placement边缘计算中的权衡策略

由于移动设备的广泛使用,人们对计算性能的要求越来越高,云计算被广泛应用于提供计算性能。但是,由于不可预测的网络延迟和昂贵的数据速率,使用云计算往往会出现延迟的情况。此时,边缘计算应用于解决延迟问题,满足延迟敏感用户的需求。边缘计算,指的是:采用边缘服务器,允许计算、网络和存储资源与移动和物联网设备用户(此处统称为移动用户)近距离放置,并减少其延迟。这些边缘服务器由一个或多个物理机器供电,与地理位置接近移动用户的基站或接入点连接。

2024-08-04 15:36:42 798

原创 Java网络编程

这是因为浏览器在请求网页中的图片时,会自动在HTTP消息头Headers中,加一个Referer信息,表示请求的来源,表示请求的来源(即当前网址)。除了网页、API,对于一些非文本文件,例如图片、excel等文件,它们的内容不是可以直接阅读的字符文本,而是二进制编码,需要软件解析图片的二进制编码数据。之前讲到了使用Get请求网页返回字符串结果的操作,事实上,除了具体的返回结果,我们还关心的数据是:http状态码。重点在于,返回的集合List的每一个元素,即每一个实例对象,都代表一行数据。

2024-07-22 16:31:49 920

原创 鼠鼠的算法题解(双指针)

入门算法小白,简要介绍算法中双指针的概念、模版题

2024-02-22 21:59:58 1339 1

原创 java 算法简单快读模版

在算法竞赛中,使用java语言的人相对于c++来说极少。可能就是因为java的Scanner类读写速度非常慢,当我们遇到一些输入数据量较大的题目时,使用Scanner类读写就会超时。鼠鼠找到了一个比较简单的java快读模版,希望能给同样刚刚入门java算法的uu们一点小小的帮助。当然,java快读模版有好多种,个人感觉这个还是比较好记的。有其他便捷的快读模版欢迎分享。

2024-02-21 19:47:09 312

原创 鼠鼠的算法题解(差分)

差分数组(diff)可以理解为前缀和数组的逆数组。它以记录原始数据数组前后两项差的形式,使得自己能通过前缀和相加的模式计算得到原数组。也就是说,差分数组的前缀和数组就是原始数据数组。其主要作用在于,遇到区间(l,r)上m次同时增加或者减少x时,能通过对差分数组单点操作,即diff[l]+=x;diff[r+1]-=x,使得对它前缀和相加后,整体以O(n+m)的时间复杂度实现区间变化;而使用循环嵌套的暴力解法需要O(n*m)的时间复杂度。当n,m均较大时,使用差分可以大大降低时间复杂度。

2024-02-07 23:13:01 833 1

原创 鼠鼠的算法题解(前缀和)

昨天学习了前缀和知识,一直似懂非懂。练了两道例题才稍有理解。所谓的前缀和,就是经过预处理(时间复杂度为O(n))后,能使m次查询(l,r)区间上元素之和的时间复杂度每次均为O(1),总复杂度为O(n+m);而普通暴力算法下的时间复杂度为O(n*m)。也就是说它降低了区间多次求和的时间复杂度。因此,在遇到较大的n和m时,我们可以使用前缀和来优化。

2024-02-07 00:04:14 1197 1

原创 鼠鼠的算法题解

1.输入数据是连续的字符(非字符串)例如ACGTA,这时候就不好使用s.next().charAt(0)了。s.next()方法以空格符号为结束,连续的字符是无法直接读取的。这道题目大概花了我一个小时,一开始想思路可能就十几分钟吧。这道题目考察的算法知识主要是模拟,一开始看起来挺难,但尝试之后发现思路还是比较清晰的,主要的问题还是在于思路实现上的一些小细节。} //若满足交换后能同时配对两对碱基对,那么交换,否则不交换//2.判断碱基对交换的代码段中,一旦完成交换,应该立即break跳出循环。

2024-02-05 11:08:29 474 2

边缘计算中的用户覆盖率与网络鲁棒性权衡策略

边缘计算中的用户覆盖率与网络鲁棒性权衡策略

2024-07-31

空空如也

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

TA关注的人

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