自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SMU Summer 2024 暑期训练周报4

这周学了一些简单的线段树板子和应用,利用线段树求区间和、区间最大值以及点修。感觉线段树的思想还是比较容易理解的,但是容易出现各种bug,一定要弄清楚各种边界问题,以及上下的传递更新,对很多区间类的问题很有帮助,当然了也不能一看到区间就马上想线段树,而是想到思路了才考虑能不能用线段树辅助。本周的补题不算好,打的比赛比较少,要补的题又比较难都是一些新算法,补了一道树形dp的问题,以前很畏惧树和图的题目,现在也可以尝试去写了。

2024-08-10 19:30:10 157

原创 SMU Summer 2024 Team Round 1

仔细思考之后我们会发现,若某些时刻打开的大门类型是一样的,那么他们的花费其实就是一样的,并且这个大门的种类数最多不超过30,单独的算出来每一种类型需要多少花费的时间复杂度其实是O(n)的。然后我们只需要遍历map和n,找出当前节点到当前打开的大门中最小的花费,那么这种类型的最小花费就算出来了,将map中的值修改。n个节点m条边的无向图中,有k个节点是大门,这些大门都有特定的开放时间,一个点到大门的花费为点的权值加上路径上的边权之和,求出1到T每一时刻所有节点到大门的最小花费之和。

2024-08-10 19:08:42 368

原创 SMU Summer 2024 Team Round 2

我们将每个节点的花费初始都设为INT_MAX,代表这个点有可能走不到被标记带点,然后把被标记点的花费设为0.通过dfs遍历树的每个节点,如果当前节点不是被标记点并且不是叶子结点,那么遍历它的子节点,如果它的子节点是被标记点,并且它们之间有候选词可以选择,那么对当前节点的花费和子节点的花费+1取min,最后得到根节点的花费,如果它的花费大于等于INT_MAX那么代表它有可能走不到被标记点,反之就是可以。显然,如果它有可能走不到被标记点,它一定会通过上面的操作更新为比INT_MAX大的数。

2024-08-06 16:37:09 439

原创 SMU Summer 2024 暑期训练周报3

本周打了四场比赛,一场是组队赛,组队赛的那场打得不是很满意,罚时太多了,其他的个人赛打得也比较差,这周的比赛状态都不是很好,周五下午的比赛还因为生病没有打。可能是训练得太疲惫了,身体也有点吃不消。这周学了一些关于图论的算法,最短路比如SPFA可以用来找带负权的最短路,还有最小生成树算法,以及判断也没有环可以用并查集。通过这一周的组队赛来看,队伍的磨合程度还需要再提升,可能是很久没有打组队赛,配合这方面做得不是很好,需要再注重一下配合,不然就会出现1+1+1小于3。武汉工程大学2020GPLT选拔赛。

2024-08-04 12:52:09 260

原创 2024 暑假友谊赛 3

对于这个操作,我们发现如果对1和j(j>=2)进行操作是最有价值的(因为i=1时能对任意值进行加减),所以我们考虑能不能把所有数都加到a1上。我们发现ai是严格大于等于1的,那么我们从左往右遍历,总和必然大于等于i,也就是说,我们可以通过先把a1借给ai,再将ai全部还给a1,这样一次操作数就是2,最后我们只需要将平均数分给每个ai(i>=2)就可以了,操作数为3*(n-1)。反之A就要占前面放最小的。换位思考会发现,到A操作时,如果B剩余的字母全小于等于A的,那么A就要占最后放手中最大的。

2024-08-03 16:15:38 425

原创 河南萌新联赛2024第(三)场:河南大学

小白在一个n*m的迷宫中,起点为1.1,只能向右或者向下走,每个位置都有一个权值,走到该位置需要扣除这个权值的生命值,若走到n*m的位置生命值小于等于0就是失败,期间可以使用任意次魔法使得本次移动不扣除生命值,问最少使用多少次魔法能胜利走到n*m。从x变为x+y的结果,实际上等于1-y的结果减去1-x的结果,O2e6预处理出前缀和,O1查询即可。按位拆分,单独对每一个二进制位考虑,假设在这一位上发生了进位,那么他的贡献就是其位置。考虑一个三维dp,走到i,j这个位置使用k次魔法扣除的最少生命值。

2024-08-01 13:28:25 275

原创 武汉工程大学2020GPLT选拔赛

【代码】武汉工程大学2020GPLT选拔赛。

2024-07-29 17:01:17 312

原创 SMU Summer 2024 暑期训练周报2

本周打了四场比赛,总体成绩中规中矩吧,就是有一种模拟题特别多的打得不是很好,看来模拟题还是一个弱的地方。然后补题这块做得也还不错,还算比较积极。跟着本周的题单刷了很多DP题,因为比较看重DP吧,之前一直都没有学这块的算法,学到了挺多知识,背包dp、线性dp还有区间DP,现在比赛中也可以写出来比较简单的DP题了。还打了一场hdu多校,依旧是被难坐牢的一场,有一道思维题做不出来,其他都是比较难的题,最后只做了两题,还是有待进步。

2024-07-27 18:57:00 348

原创 SMU Summer 2024 Contest Round 7

可以选择任意一个数(不小于2),让数组中的数换成对这个数取模的结果。要让这个数组中的数相等,可以看出如果数组中0和1同时存在那么这两个数不可能操作后相等,那么考虑对其他数操作,假设全变成0,那么需要每次对最大数取模,如果全部变成1,需要每次对最大数-1取模。首先是对字符串进行排序,让a+b<b+a,具体证明不会...有点类似于下面的。如果对字符串正着遍历,则不能保证高位尽量小,所以我们从后面倒着遍历。要让字符串最小,则在保证低位最小的情况下,高位尽量小。一开始没看到只能买一个,还以为是什么贪心的题。

2024-07-27 15:23:09 286

原创 SMU Summer 2024 Contest Round 8

显然,一个数只能由他的因子相乘得到,一个数的因子不会很多,所以每组我们只放入因子,每个因子只放入一次并记录个数,最后暴力搜索一下就出来了。每次只对前两个数操作然后插入一个数,并且插入的那个数在0到9之间,那么我们可以定义一个dp为前i个数剩下j的方案数。容斥定理,有0有9的序列=所有序列−没有0的序列−没有9的序列+既没有0也没有9的序列。dp[i][(a[i]+j)%10]+=dp[i-1][j] 是不是很奇妙~.~那么对一个位置,要么被第一个操作覆盖,要么被第二个操作覆盖,要么没有被覆盖。

2024-07-27 13:33:13 290

原创 河南萌新联赛2024第(二)场:南阳理工学院

至于判重,我们可以看如果更优的比差的提前放进去,那么我们对更优的进行操作,把它所有的后缀字串都加入到一个map的set里,这样当更差的输入时直接count找就判掉了。如果差的比优的提前放进去,那么我们就对优的进行后缀查找(substr),当set里有它的后缀,那么就把那个后缀删掉,并插入更优的,结束遍历后还要再插入一次,防止里面没有后缀导致没有进行插入操作而漏掉这个信息,而set保证字符串不会重复。要用一个人和他的信息(全是字符串),可以用map来方便地操作map<string,set<string>>

2024-07-25 12:20:29 223

原创 SMU Summer 2024 Contest Round 6

我们观察到,最优的方案当然是在上下左右找,这样曼哈顿距离就是最小的1,但是有些点可能会被包住(上下左右都是被选中的点),那么我们就要多走一段距离,但是反过来思考,最优距离的点是通过一个个被选中的点走到的,总有一些点是不被包住的,并且它走到周围的被包住的点是1,那么我们能不能对最外围的点bfs呢?首先我们将所有外围的点找出来,然后对这些点bfs,找到一个被包住的点,那么这个点的距离就是搜索点的距离+1,一定是最优,所以他们同解,这个过程是从最外围一圈圈往内缩的,所以就是最优解。中间状态的价值需要考虑。

2024-07-22 20:28:56 550

原创 SMU Summer 2024 暑期训练周报2

本周是暑期集训的第二周,现在也逐渐开始适应了这样高强度的训练,然后比赛状态也在回暖,自己目前水平能出的题大概都能出,也算是好的一个方面。然后这周打了一场HDU多校的比赛,难度比较高,基本上都是算法题,签到题也比较有难度。本周把上周的二分专题题单补完了,很有收获,1400以下的二分题现在应该都不是太大的问题了。但是才发现还有一个栈队列的题单没写,好多题。。。

2024-07-20 20:48:54 253

原创 SMU Summer 2024 Contest Round 5

我们可以想象一下当前位置下去不为-1的,像是一个连起来的块块,这个块块的后面就是第一个为-1的位置,然后发挥一下想象力,是不是对于块块中的每个点,第一个为-1的位置都是那里,就好像那个位置是他们的父亲,对,就是并查集。重要,不是下一个,而是下一个的父亲,因为下一个位置可能被修改过,父亲可能不是自己),这样我们就可以实现O1的查询了。对于f(X)最大的那个X,它要满足的是让尽量多的小孩的重量小于它,让尽量多的成人的重量大于等于它。很有意思的题,一开始暴力超时,set超时,正解是用并查集找第一个为-1的节点。

2024-07-20 16:54:06 160

原创 2024 暑假友谊赛 2

dp方法为什么会错?所以要得到最大的答案,应该走最后一位数上二进制位是1最多的路。要让最小的字母靠前,我们枚举a到z,对l-r(只有l-r是可行域)内,如果发现小字符在后就交换它和开头字符的顺序(保证开头字符大于小字符的前提,如果等于,那么交换无意义),这样我们就保证在交换规则下,有最小字典序的字符串。如果有两块相连的绿色地砖,这两个能组成同一个十字,那么这两个地砖不可能是十字的上面或者下面只能是中间,那么我们可以知道,每一个十字的上面那块都是确定的,我们从上到下枚举行,能补十字就补,一定是最优方案。

2024-07-20 14:43:15 271

原创 河南萌新联赛2024第(一)场:河南农业大学

如果在第x个国家,即使采取最优策略也无法畅游,那么后面的国家也是无法畅游的,说明在某个位置开始答案就变得不可取,显然答案具有单调性,所以我们二分畅游的国家个数。对于二分出的个数,我们在这些国家中选最大的k个使用神力,如果这样还不能全部畅游选中的国家,那么就是取大了,反之就是取小了。按位拆分后发现,每个位上是有循环节的,具体是从当前位的值-1开始循环的,循环的周期为2的当前位次(1是第1位,2是第2位,4是第3位......)次方,每个周期拥有的1的个数就是周期大小的一半。

2024-07-18 13:55:46 322

原创 SMU Summer 2024 Contest Round 4

那么我们预处理出每个前缀和的(Si-i)%k,从左到右遍历前缀和数组sum,用map存遍历到的结果,我们需要找到前面有几个前缀和的结果与当前前缀和的结果相同,当然,我们需要提前处理本身就可以满足条件的也就是v[0]==1。我们可以先选最大的x个a和最大的y个b放入,然后用c替换掉小的那些最小的数。由公式的推导得 (Sj-j)%k==(Si-i)%k. (0

2024-07-16 13:32:58 158

原创 SMU Summer 2024 暑期训练周报1

本周正式开始了暑假算法集训,感觉强度有点大,加上之前期末周没有训练,训练赛打得不是很满意,发挥不稳定,有时候只出了一题,签到题都没有写完。这周的训练内容是二分、三分、和01分数规划,这部分内容是很容易理解的,出的题难度也比较中等,具体难点就在于判断能不能二分,对什么二分和结合一些算法辅助比如差分,前缀和,等等。另外还有些是对整体二分,也就是将一个大问题转化成一个个子问题去二分,最后合并计算,这就对整体的二分。本周算是康复训练的一周,往后的比赛就应该表现得更好些,训练也得专注认真。

2024-07-14 20:27:12 317

原创 2021秋季算法入门班第三章习题:二分、三分、01分数规划

嘎嘎刷了好多二分的题,昏了。二分算是比较ez的题,关键是判断对什么二分,能否二分,怎么设置二分边界,怎么check。搞定这四步基本上二分的题就都可以切掉了。除了有些难一点的题需要用到其他辅助算法。

2024-07-14 20:01:34 553

原创 2024 暑假友谊赛-热身2

答案只会是n的因子-1中的数(不包括0),并且这个因子要大于sqrt(n),最后这个因子-1也不能说因子(玄学打表,多猜想)。对于情况4,我们可以将其拼接起来,中间封闭的部分得到AB,左边会得到B,右边会得到A,这样会得到最优的w-1个AB并且创造出AB的条件,然后我们只需要用一个情况1或者一个情况2都能凑出AB。枚举h和n,由式子可推出w=(n*i*j)/(4*i*j-n*j-n*i),当w大于0且是整数的时候输出答案。枚举r和g的个数,若则b的个数为(n-(i*r+j*g))为整数则答案+1。

2024-07-13 19:57:57 201

原创 2024 暑假友谊赛-热身1

因为这是一个排列,所以最后都会变成1,故从1开始改是最优解,对于k长度的框,让1在1-k每个单位长度开始滑动,每次取min。对所有数字用map存一下就不用重复计算了。假设找的点是蓝色点,向左移动d个单位,则左边点到它的距离-d,右边+d,那么-4d+2d=-2d减少了2d.转换模型我们可以把a[i]看成数轴上的点,那么就是要求数轴上一个点到其他点的距离最小。长度为n的序列,找任意一个整数b,使abs(a[i]-(i+b))的和最小。找出每个长度大于k的连续子字符串,取出最小的多余的部分的a[i]就是答案。

2024-07-13 17:58:53 277

原创 2024 暑假友谊赛 1

然后枚举a,再枚举b,对于满足条件的b,再去找到最小y值的b。我们担心的是,会不会有b点与当前a配对后会造成其他b点浪费的情况。但实际上红点从大到小,蓝点从小到大排序的情况下,因为枚举第一层a的x会不断减小,第二层枚举的x会不断增大,在u处蓝点x满足条件,后面蓝点的x对于u处后面红点的x也一定满足条件,相当于x被忽略掉了,但是y越靠近红点的y越不会浪费。那么在成立的情况下,对于二号烤箱所占的时间就是sum-j。要求k个三个数的和的最大和,分治思想先求k个前两个数的最大和,再求出这些数与第三个数的最大和。

2024-07-13 17:22:54 298

原创 SMU Summer 2024 Contest Round 3

要使疲劳度最小,必然要找k组相邻的最小差值对,考虑n方的dp,i,j表示前i个物品取k对,注意考虑怎么初始化。给一个小于1e18的正整数,询问能否通过删除最少的位数让该数被3整除。类似的,二进制枚举当前位数删或者不删。先用欧拉筛把质数预处理出来,然后枚举左端点的质数,只需要询问右端点是不是质数并取差值的min就行了。对于每组,只有取左边或者右边,等同于对左边,取或者不取。数据范围很小,二进制枚举秒了。随便模拟一下就找到规律了(被多组数据狠狠教育了。

2024-07-10 20:01:24 292

原创 SMU Summer 2024 Contest Round 2

看明白题面的话就是求第N阶矩形,第N阶矩形又由N-1阶合成而来,所以只需要从0阶递推就行。n个单词m行,询问每行至少多少宽度才能完成放下n个单词,如果在同一行,单词间有一个空格。贪心地取最小的开始的时间,时间相同则先取最小的离开时间,用优先队列维护离开的时间。询问字符串在区间内si==si+1的个数,用前缀和预处理然后O(1)查询就行了。显然答案具有单调性,如果x能满足,那么x+1也一定能满足。如果贪心优先取离开最早的,那么有可能会浪费前面的时间。

2024-07-09 20:22:01 332

原创 SMU Summer 2024 Contest Round 1

给出一个N面骰子和整数K,掷出1-N之间的每个数的概率相同,每次掷出一次,记为成绩,若成绩小于K,则开始抛硬币,硬币朝上则数翻倍,反之则为0,概率都为0.5。有点像窗口排队问题,用一个数组维护队尾就好了,每次二分查询现有的队伍中小于该数的最大队尾,并将队尾修改成该数,如果没有则新开一队,也就是往后插入这个数。暴力会超时,我们可以将全部数看成纸牌,你拥有的纸牌数就是ci张和序列中有的。数据范围很小,四层循环暴力也能过,枚举操作次数,左边取的个数和右边取的个数,剩下的次数可以用来丢掉负数。

2024-07-08 19:52:28 325

原创 4.6洛谷电子科技大学校赛补题

因此,就下来的操作中一定不含有必胜数,就是说,如果X要发生,当且仅当最小的两个数都大于⌈sum/4⌉,这就证明了n的序列不能大于3。题意:有一个长度为n的序列,序列第i个数大小为ai,A,B两人进行博弈,每次操作可以选择取走一个数,然后另一个人获得其他数的总和并结束游戏,或者选择两个不同位置的数进行合成。题意:给出一个长度为n的序列,初始ai的大小为i( i>=1),对这个序列进行n-1次操作,从n到2倒序遍历,从1到i-1之间随机选取一个数加上2ai,询问操作完毕后a1的期望值mod998244353。

2024-04-07 18:24:43 793

原创 smu2024蓝桥杯训练1

贪心地,如果前一架飞机到达时间+落地时间<=当前飞机的到达时间+盘旋时间,那么当前飞机就能降落,并且当前飞机的到达时间应该更新为max(前一架飞机到达时间+落地时间,当前飞机的到达时间),这样每一次都判断,有一个不符合就输出NO,都符合就输出YES。思路:区间dp,dp[l][r]表示下标l-r的子字符串能否满足条件,如果s[l]<s[r],dp[l][r]=1。如果s[l]==s[r],dp[l][r]=dp[l+1][r-1],如果s[l]>s[r],dp[l][r]=0。的值,最后输出字符串。

2024-04-03 18:18:32 1023 1

原创 24年春季学期第四周训练周报

在打天梯赛的时候,一开始是领先的,然后卡题又不想走,花了很多时间也写不出来,看着别人赶超自己,心里开始着急,后面的题目仓促思考,心态也不稳,导致本应该能写出来的题也没做出来。然后每次取出最小的一个因子v[i],易证出,取原字符串前两个v[i]长度的子串,分别从原字符串开头开始对比,有两处不同就结束,如果两个都不能成功就说明这个长度的子串不行。题意:T组数据,每次给出n长度的字符串,找出一个最小的子串,使得这个子串能拼接成原字符串的同时最多有一个位置的字符不同,长度相同,输出这个子串的长度。

2024-03-31 16:43:10 314 1

原创 SMU 2024 spring 天梯赛3(补题)

题意:轨道1上有一些列车厢,你可以选择将轨道1开头的车厢移到轨道3,或者直接移到轨道2,你可以将轨道3末尾的车厢移到轨道2,但是不能移到轨道1,轨道2上的车厢不能移动。给出轨道1上车厢的排列顺序和期望轨道2车厢的排列顺序,请问能不能通过上面的操作达到给出的轨道2的排列顺序,若能则输出方案,反之输出Are you kidding me?枚举连续因子的开头(1-sqrt(n)),若能整除,每次让因子+1一直除到不能整除为止,记录该连续因子的长度,若比之前的大,就更新连续因子的开头和长度。

2024-03-31 15:09:26 313 1

原创 24年春季学期第三周训练周报

总结:vj上的训练赛打得不是很好,表现在解题思路出现了偏差导致怎么修改也拿不到满分,究其原因我觉得还是没有理清楚题意,所以接下去的训练我应该先把题意理清,把细节看清楚了再开始想思路,否则就是一条路走到黑,浪费很多时间,在以后补题的时候也把题意加上。周六的牛客打得稍微好了一点,因为这场比赛我的重心确实在理清题意上,同时也有很多思维题,所以不是考到难的算法的题目都写出来了,好好读题,这是应该保持的好习惯,匆忙读题而曲解题意的话,浪费的时间远远大于认真读题的时间。

2024-03-24 16:16:22 184 1

原创 3.23牛客广州大学程序竞赛

题意:gzhulc要通过n个关卡且必须从第一关开始,每通过一个关卡,下一个关卡的boss会获得⌈a(i−1​)/2​⌉的护盾值(ai为生命值),gzhulc获得永久 ⌊a(i−1)/2⌋的能力值,只有能力值大于boss的护盾值+生命值才能通过该关卡,问gzhulc开始时需要设置最低多少能力值才能通过所有关卡。思路:四个变量分别标记收集到的g,z,h,u,数量,四个变量都不为0时获得四个变量之和的能力值,同时重置四个变量为0,能力值不为0时每次能力值减1。图中的字符不会相交,且所有字符都是黑色的。

2024-03-24 14:43:42 339 1

原创 3.19训练赛

思路:通过模拟推到,我们可以发现有这样的一个规律,第k位二进制串与k的异或值刚好是k/2,k^k^a=a,因此第k位二进制串可以由k^(k>>1)得到,特别的,这题数据范围到了2的64次方,所以得开unsigned long long。1.若输入的p1为1,字母子串的减号替换为小写字母,p1为2,字母子串替换为大写字母,上述两种情况的数字子串替换方式不变,p1为3,则两者都替换为等量的字符*3.若输入的p3为1,则被替换的字符正序输出,若p3=2,按逆序输出,例如当 p1=1、p2=2、p3=2时,子串。

2024-03-24 13:12:01 648 1

原创 24年春季学期第一周训练周报

这周是新学期开学的第一周,同时也是我进入acm集训队训练的第一周,总体来说效果还比较好,接触了一些新的算法如二进制枚举,质因数分解,欧拉筛等,强化了位运算的理解,还有一些数学思维题如质因数分解定理和极差的性质,通过这周的训练我的数学思维得到了一定的提升。有时候上课的时候还会想着昨天的算法原理怎么实现的,那些代码是干什么的,有些影响上课的专注度,这个问题也需要改正一下,在学算法的时候就认真学,不用担心学科的问题,上课的时候就得认真听讲,不要在两者之间手忙脚乱。

2024-03-10 17:10:02 426 1

原创 3.9天梯选拔赛(二)

思路:数据较大,n方做法会超时,第一个函数本质上是两个数异或,第二个函数本质上是区间内的数异或,那么考虑前缀和异或数组存入,每次查询就可以很快,对于b[r]^b[l-1],我们知道两个数异或等于0,0异或x等于x本身,那么即可b[r]^b[l-1]即可得到l-r之间数的异或值。思路:能量传递只和放置的顺序有关,将二维问题化为一维,计算出线路长度(总共需要激活多少个点),每个红石信号源可以激活(15-m)*2+1个点,最后结果向上取整。思路:容易看出x<1时输出<,x=1时输出=,x>1时输出>。

2024-03-10 17:06:35 400 1

原创 3.5号天梯选拔赛(一)

思路:与B题类似,这一题也可以用二进制枚举土豆,然后判断所选土豆构成的矩形里面有没有未选中的土豆,若无则方案数加一。注意:不能用string直接读如,因为输入包含空格,或者可以用getlin(cin,s)读入一整行。思路:数据范围很小,可以二进制枚举暖源,然后判断每种方案的所有小鸡是否都满足温暖值。思路:贪心,每次都减去最大的那个整数。思路:每次读入一个字符,读到'.'就输出"xixixixi."思路:判断看完视频后剩余的时间是否大于等于加纳出现的时间。思路:暴力,操作三种方案各操作一次,取最小值即可。

2024-03-09 20:44:37 369

原创 2.26训练赛

思路:模拟几种情况我们发现,假设id出现次数为1的个数为num,id出现次数大于2的个数为qum,当num大于qum时,只需要将qum与num配对,剩下的num自己配对,操作次数为两者之和除2,当qum大于等于num时,操作次数为qum。思路:三重循环枚举前三个数,最后一个数用n-前三个数各自平方和赋值为p,再开个变量u=sqrt(p),因为sqrt函数默认向下取整,若u*u=p,则p存在为整数,输出即可。思路:位数相同时,从最高位看起,相同数位上的数大的数大。思路:简单的并查集,模板题。

2024-02-27 14:39:59 394

原创 24寒假训练第五周总结

2.19训练赛24牛客寒假训练营52.23训练赛总结:这是寒假训练最后完整的一周,也是训练以来的第五周,现在对付训练赛有种得心应手的感觉,做出来的题目越来越多,也许是之前努力训练学习的结果,所以我相信努力就会有回报,补题就会有提升,不过牛客训练营依旧是很头疼啊,这也反映了我的算法能力还是不够扎实稳定,有很多需要补充练习的地方,还有一些数学思维需要训练提升,甚至补起那些题也觉得十分吃力,所以学习的路上从来没有一下子就成功的,从来都是稳扎稳打慢慢提升,一直坚持学习,最后才能在赛场上大显光彩战胜对手,我希望自己可

2024-02-25 12:19:37 409

原创 2.23训练赛

可以看出,最大值由最小重量的橘子取得,因为余数总可以均摊到取的橘子上,向下取整。最小值由最大重量的橘子取得,因为余数总可以均摊到其他橘子上,向上取整。思路:sum表示当前最长连续列o,num表示上一个状态最长连续列o,每次连续停止时max两者最大即可,同时令sum=0。bfs,遍历四个方向,出发前检测一次,沿着一个方向走,每走一步又检测一次,若下一步会撞墙,则结束行走。思路:用一个map存字符串是否出现过,若没出现过则sum++,同时存其及其反转后的字符串到map。寻找最长的连续列的o。

2024-02-25 12:06:03 363

原创 24牛客寒假训练营5

贪心,思路:在两个数字之间插入x个0,可以等效为这两个数字同时减去x。思路:如果能一直赢到目标值,显然剩下的局数如果是偶数那么就有解。思路:求质数和合数总数,总数减去1的个数就是答案。

2024-02-25 11:35:39 344

原创 2.19训练赛

题解:暴力会超时,所以用双指针和map记录该糖果的个数,res记录当前的糖果种类数,减去开头的糖果,若该值为0,糖果种类数-1,若下一个糖果值为0,加上该糖果的同时种类数+1,count表示操作后的糖果种类数,比较res和count取大的值。题解:题目大意输入一个只含大写字母的字符串,求该字符串代表的数,A代表1,B代表2依次类推,同时字符串的倒数第一位还要乘上26的0次方,倒数第二位要乘上26的1次方依此类推,例如AB就是1*26^1+2*26^0,结果就是28。题解:考查组合数和数学推导。

2024-02-20 14:49:07 359

空空如也

空空如也

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

TA关注的人

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