- 博客(54)
- 收藏
- 关注
原创 算法提升之数学-(裴蜀定理)
今天分享的是裴蜀定理,通过学习裴蜀定理,我们可以解决有关整数表达的相关问题。1.裴蜀定理的定义2.裴蜀定理的拓展问题一。
2025-08-05 09:23:03
595
原创 算法提升之数学(欧拉函数的相关应用)
今天分享关于欧拉函数的相关知识,通过欧拉函数可以解决求解单点的数值质数个数,以及运用欧拉定理可以将大数求幂的值给变小,这部分内容相信对大家能有所帮助。1.欧拉函数的相关定义2.欧拉单点函数的求法3.欧拉定理。
2025-08-03 10:08:21
689
原创 算法提升之数学(唯一分解定理)
今天给大家介绍的是唯一分解定理,根据唯一分解定义可以求解某个数的因数个数,也可以求解因数之和。一.唯一分解定理二.约数个数定理三.约数和定理。
2025-08-01 11:17:58
463
原创 算法提升之欧拉筛
今天给大家介绍关于欧拉筛的相关知识内容,对于欧拉筛大家需要先有一个基础的认识与了解。欧拉筛主要就是来解决当n的范围>1e7时,用这个方法可以将时间复杂度变为o(n),从而不会导致超时。1.欧拉筛的具体含义2.4.欧拉筛与埃氏筛选的区别。
2025-07-31 11:37:23
402
原创 素数的创新筛选-埃氏筛法
通过这个方法,可以降低时间复杂度。好了,今天的分享就到这里喽,希望大家多多关注。常见的朴素素数筛法就是用除法,今天介绍一种可以快速进行筛选素数的方法。
2025-07-30 10:50:44
98
原创 算法能力提升之快速矩阵
今天还是给大家带来关于快速矩阵的算法思想,这部分类型题目还是重在解决时间复杂度过大的问题,同时要注意的是矩阵乘法重载的编写,这部分是关键。
2025-07-30 10:35:02
551
原创 算法提升之数论(矩阵+快速幂)
转移矩阵X是一个n × n的方阵,其中X[a][b]表示从玩家b传递到玩家a的概率:如果玩家b喜欢玩家a,那么,其中t_b是玩家b喜欢的人数(即玩家b的“出度”)。如果玩家b不喜欢玩家a,那么。
2025-07-29 09:50:52
1303
原创 算法提升之字符串-(01tree)
01tree作为字符串的常见考察方式之一,需要大家好好掌握。01tree常用来解决异或与大小计数问题。可以根据以下图片来进行初步学习。接下来我也将通过几道例题,来帮助大家更好地理解01tree的问题。
2025-07-25 10:50:24
839
原创 算法提升之字符串(字典树)
今天给大家分享的是关于字符串中字典树的内容,这个内容可以帮助我们更好地理解有关字符串的相关知识,将字符串变为数组存在里面,方便统计字符串的内容。主要用于解决多个母字符串,然后询问字串是否存在的问题。希望大家可以好好地阅读这部分内容,这是关于字典树的模版内容,相信可以帮助大家更好地理解。
2025-07-24 11:05:55
726
原创 算法提升之字符串练习04-(综合题目提升)
今天给大家带来的是关于字符串练习的综合提升问题,这类题目比较综合,希望大家可以好好做做,对于大家的提升可以非常大。小蓝有很多齿轮,每个齿轮的凸起和凹陷分别用一个字符表示,一个字符串表示一个齿轮。如果两个齿轮的分别是的大小写,我们称这两个齿轮是契合的。AbCDeFgh和aBcdEfGH就是契合的,但是abc和aBC不是契合的。这天,小蓝的弟弟小桥从抽屉里拿来了两个齿轮,小蓝想知道,这俩个齿轮是不是契合的。
2025-07-19 09:02:41
489
原创 算法提升之字符串练习-03(KMP)
今天给大家带来的仍是关于字符串类型的算法题目,关于这类题目,大家需要多做练习进行巩固,题型相对固定,但是比较具有思路,希望大家可以好好理解相关部分。关于KMP算法,通常有两部分组成,第一部分是通过get_next()数组求解next数组,第二部分则是通过KMP求解字符重复。
2025-07-18 10:53:20
451
原创 算法提升之字符串练习-02(字符串哈希)
今天给大家分享的是字符串中常会用的一种方法,叫做字符串哈希方法,相较于传统的前后缀找公共字符串,这种方法可以更好地理解。是通过将字符变为数值大小来进行判断是否包含前后缀。例题分析。
2025-07-17 09:54:02
922
原创 算法提升之字符串练习-day01
今天将开启新的篇章,关于字符串的学习和练习,今天将给大家详细介绍一下KMP算法的思路。KMP算法是用来匹配字符串长度的算法,可以将O(n2)的时间复杂度变为O(n)。这里有几个注意点:1.首先是注意next数组的构造,通过前后缀的方式进行构造。next数组只与)有关,用自己匹配自己。
2025-07-07 19:07:58
210
原创 飞往大厂梦之算法提升-day09
二分问题今天给大家解答的主要是关于二分的问题,这类问题主要分为三类:1.整数二分2.浮点数二分3.二分答案这三类问题总体思路接近,其中二分答案的考察次数最多,最容易考察大家对于二分的思考和解决。整数二分就是在一个有序的数组中,寻找第k个数,关键是找到l和r的两个端点。其实解决二分问题无非要明白几个方面:1.check函数的确立,这个check函数主要就是return 题目要求的物件个数,如岩石数,树木个数等等。
2025-06-27 17:50:19
1038
原创 飞往大厂梦之算法提升-day08
摘要:本文分享了三个算法问题的解决方案。第一题使用数位DP统计区间内相邻数字差值不超过K的"小明数"数量,重点处理了前导0问题。第二题同样使用数位DP,在区间中统计包含"2023"或"14"的幸运数字,通过维护多个数字位状态进行匹配。第三题是路径问题,采用Dijkstra算法计算起点到终点的最小能量消耗,判断剩余能量是否足够逃离。三题都展示了特定场景下的高效解法,涉及数位处理和状态维护等技巧。
2025-06-24 20:21:00
1080
原创 算法练习Day3
今天给大家带来的是区间DP经典例题和一道用queue求解路径的dfs问题,题目特别的有意思,希望大家可以认真看完,相信对大家的帮助还是非常大的。
2025-06-20 09:00:00
1024
原创 算法Day2-提升
提升篇主要是针对考场上常出的几道经典题目来进行解释和说明,帮助大家更好地理解,首先肯定就是dfs类问题,这类问题在算法比赛中可以说是必定会有一题。
2025-06-19 09:00:00
1156
原创 算法练习-02
今天给大家带来的是第二天的几道练习题,包括几道思路特别巧妙的算法题,以及提升的背包问题,相信这类问题对大家算法能力的提升还是十分有帮助的,希望大家学完可以给博主点一个关注。
2025-06-18 18:28:47
1233
原创 睿抗2023-03-05
在某个游戏中有一个骰子游戏。在游戏中,你需要投掷 5 个标准六面骰子(骰子为一个正方体,6 个面上分别有1、2、3、4、5、6中的一个数字,骰子的质量均匀),投出的点数根据组合会获得一个“获胜等级”。2.这道题使用的求出最长上升子序列的方法可以当作模版,等号可以取是因为题目要求,相同等级的人可以放到一起,如果是严格的上升子序列记得把等号给去掉,求出的res个数是正确的但是数组里面的元素不是正确的,这一点要注意区分。如果分子为 0,分母为 1。两对 - 投出的点数中有两对是相同的(如 1、1、2、2、3)
2025-06-16 21:57:43
282
原创 2024睿抗05-工作安排
这道题是01背包的基础问题,大家可以看看我之前的视频,可以帮助大家更好地理解这部分的内容,关键就是对于题目的理解,为什么要选取截止时间作为排序的内容,然后该如何进行状态转移的方法。1≤i≤N),表示第 i 项工作需要花费的时间、截止时间以及报酬。小 K 有 N 项工作等待完成,第 i 项工作需要花 t_i单位时间,必须在 d_i时刻或之前完成,报酬为 p_i。接下来有 T 组数据,每组数据第一行是一个正整数 N (≤5000),表示待完成工作的数量。输入第一行是一个正整数 T (≤5),表示数据的组数。
2025-06-15 15:33:12
152
原创 2024睿抗-03
输出若干行,每行两个正整数 r 和 c,表示第 r 行第 c 列有可能藏了一个暖炉,有多个可能时,先按 r 从小到大输出,r 相同时再按 c 从小到大输出。这个谜题的关键在于,单纯从图中能看到的暖炉来说是无解的,但如果注意到,第 3 行第 6 列的水豚明明周围没有暖炉,却也处于暖呼呼的状态,在一个 N×M 的矩阵中有若干水豚以及暖炉,暖炉可以辐射以它自身为中心的 3×3 范围里的水豚,使其变得暖呼呼的。谜题里存在一只冷的要命的水豚,你需要移动其中的一个暖炉,使所有水豚都变得暖呼呼的。w 表示暖呼呼的水豚;
2025-06-11 22:16:59
655
原创 算法刷题-回溯
今天给大家分享的还是一道关于dfs回溯的问题,对于这类问题大家还是要多刷和总结,总体难度还是偏大。对于回溯问题有几个关键点:1.首先对于这类回溯可以节点可以随机选择的问题,要做mian函数中循环调用dfs(i,obj),同时在dfs中要对后面的节点再次进行调用,还是使用dfs。2.对于使用过的节点用vis进行记录,而递归出口则是flag。3.注意在dfs选择后,要对这一次的递归选择进行回溯,下面这道题在dfs内的调用以及main函数中的调用都有显示。
2025-06-09 20:47:43
1065
原创 算法练习-回溯
通过这些题目可以看出如果没有进行剪枝操作,那么是不能拿到题目所有的测试点的,所以对于大部分算法来说剪枝操作是十分必要的。今天给大家带来的是在dfs查用的降低复杂度的方法---剪枝。好了,今天的分享就到这里,希望大家多多关注。代码部分:(未剪枝)
2025-06-08 10:50:56
503
原创 算法练习-回溯
1.关于mindfn的选用,将第一个开始记录的节点作为mindfn的首节点,这是为了防止第二个遍历开始,若访问到第一个环里面将无法构成一个完整的环状。2.注意(col[x][y]||mp[i][j]=='.')这里容易忽略col[x][y]这会造成遍历时左右两点来回横跳,造成影响。这一概念,这是用来记录节点关联问题之间的记录,可以通过时间戳来记录访问的顺序以此来统计在一个范围内节点的个数。今天开始新的章节,关于算法中回溯法的练习,这部分题目的难度还是比较大的,但是十分锻炼人的思维与思考能力。
2025-06-07 16:05:13
658
原创 动态规划-数位DP
今天给大家带来的是数位dp的题目,这类题目相关性比较强,大家可以看我之前的作品进行学习,同时今天会给大家带来几个我在做题中遇到的问题,可以更好的帮助大家理解。注意点⚠️:1.首先对于前导0的是否要放到dp数组中:可以看到昨天的二进制问题并没有在dp数组中处理st问题,但是今天的第一道问题处理了st问题,对于是否要加上前导0的判断,关键就是要在题意处理的条件是否与前导0相关,说白了就是前导0是否会影响正常计算。比方说在二进制中,题目只要求求解出1的个数,所以前导0并不会影响结果。
2025-06-05 19:20:42
1057
原创 动态规划-数位DP
今天给大家带来的是关于数位dp的相关应用题目,大体的思路很相同,关键是:1.如何理解记忆化搜素这个过程,如何去实现这个过程。2.以及对于dfs转移的理解。3.对于题目条件的理解重而选择正确合适的dp数组。
2025-06-04 19:24:26
209
原创 动态规划-数位DP
今天开始做关于数位DP的问题,首先对于数位DP来说,这类问题难度较大,比较难理解,所以博主也会尽量讲的更加详细一些,来帮助大家更好地理解这里的相关知识。前置知识:1.首先对于数位DP来说,主要解决的是关于在一段数的范围里,求解所含特殊条件的字符的数的个数。例如在[1,100]之间寻找包括7的数字个数。2.数位dp的dp数组一般设置为dp[pos][snt][cnt],其中pos表示数字代表的位数,snt表示当前位数是否合法,cnt表示数位合法的个数。
2025-06-03 20:12:42
944
原创 写给这个阶段自我的一封信
明天我将重新坚持继续刷算法题。如果我花时间准备了一件事,那么当结果不合自己预期的时候,那么自己就会特别烦躁,没有耐心。我常常过度的去思考未来发生的事情,把当前的结果看成将影响未来结局的充分条件,我发现过度的透视未来只会加剧自己当下的焦虑,我没有做到有始有终,把当前的失败想的过于重要,而产生很多的负面情绪,从而影响自我的决策。所以在未来的学习过程中我会努力地改正自我,不在过度地透视未来,而是真正地把握当下,更好地活在当下。这是写个自我在这个阶段的一封信,加油,未来一定会因现在不断前进的你而改变。
2025-05-26 21:34:23
153
原创 动态规划-状态压缩DP
今天给大家带来的系列还是我们的状态压缩DP系列,相信根据前几天大家的学习和了解,已经对状态压缩DP有了一个基本的了解。1.理解这类问题的关键是对理解dp数组的定义,我们常见的的定义方式就是dp[i][j],其中i是用二进制表示当前存在的状态,而j一般是根据题意选择当前满足题意的条件,(一般是以什么什么结尾)。2.其次就是要写出相关的执行条件,如if(i&(1<<j)),这就一般表示当前当前i的状态与j相符,这样的目的其实是将确定i,而j的循环范围则一般是与输入的n相关。
2025-05-16 18:36:55
456
1
原创 动态规划-状态压缩DP
今天带来的这道状态压缩DP十分经典,关键考查了大家对于状态转移这一过程的理解,希望大家可以通过这道题来更好地理解状态压缩DP这一转移变换的过程和思路。
2025-05-15 19:05:36
494
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人