
Algorithm
文章平均质量分 67
算法学习过程当中的一些知识记录,包含考试知识总结、acwing题解、csp题解、LeetCode题解等等。
亿维数组
边写文章边学习
展开
-
迭代法求解leetcode396旋转函数
先思考暴力做法,遍历每一种旋转后的数组arrk,对每一个arrk求一次F函数,但是时间复杂度是平方级别的,而n=10^5,必然超时,因此必须求出来一种线性或对数复杂度的算法。我们继续思考发现,对数组的旋转实际上可以转换为对“每个数组系数的旋转”,因此,我们会发现以下规律:据此我们确定迭代思路:首先求出旋转之前的F函数,随便再迭代n-1次,在每一次迭代中,将其中一个元素的出现次数增加n-1,再将其它元素的出现次数减1,不断更新迭代值,每次求出新迭代值时假如大于当前答案就更新答案。原创 2025-05-13 11:31:23 · 381 阅读 · 0 评论 -
对代码随想录中回溯算法去重和used数组的理解
而结点2包含的所有情况是:在组合[1]的基础上,在[1,1,1,2]中进行其余元素的选取,又可以分为两大类情况:2.1:将选取[1,1,1,2]的第一个元素1 2.2:将不选取[1,1,1,2]的第一个元素1,即从剩下的[1,1,2]中选取。如果取出cand[1],则跳转到结点3,此时used[1]被赋值为true,满足:candidate[1]==candidate[0]且used[0]==false,所以结点3会被删除,为什么结点3会被删除呢?本题需要的去重操作为树层去重。原创 2025-01-08 12:26:16 · 238 阅读 · 0 评论 -
KMP算法详细讲解(含代码和样例分析)
本文参考b站(可以直接点击右侧链接跳转至b站视频页)和acwing831对kmp算法的基本思想以及如何构造next数组进行讲解原创 2024-12-20 21:41:47 · 1626 阅读 · 0 评论 -
【b站:二分查找为什么总是写错?】二分问题红蓝区域划分方法总结
确定IsBLUE函数要考虑具体的情况,毕竟二分的思想可以用于很多情形不仅仅是在数组中查询一个满足条件的元素,比如acwing730,IsBLUE函数的定义就比较复杂,不是一两句可以描述的。尽管如此,有几种常见的模型,如下图所示,可以解决大部分的问题,也可以将一个问题转换为这几种模型去使用:如何快速记住这四种模型呢,可以简单地分为“找第一个”和“找第二个”两种情况,对于“找第一个”的问题,isblue的条件与之互补,返回r,而对于“找最后一个”的问题,isblue的条件与之相同,返回l。原创 2024-12-16 18:21:05 · 1021 阅读 · 0 评论 -
【ccf-csp题解】第11次csp认证-第三题-Json查询超详细讲解
本文讲解第11次csp认证第三题原创 2023-11-14 17:56:28 · 356 阅读 · 4 评论 -
【Acwing171】送礼物(双向dfs)题解
本题思路来源于acwing算法提高课。原创 2023-11-11 11:41:06 · 296 阅读 · 4 评论 -
一分钟学会使用二分各类模板
数的范围”:比如一段序列3 4 4 5 5 5 6。右边界即找:小于等于5的最后一个下标。左边界即找:大于等于5的第一个下标。4.找到最后一个小于等于x的元素。2.找到第一个大于等于x的元素。3.找到最后一个小于x的元素。1.找到第一个大于x的元素。5的下标范围为[3,5]原创 2023-11-09 23:19:26 · 182 阅读 · 2 评论 -
【Acwing170】加成序列(dfs+迭代加深+剪枝)题解和一点感想
本文讲解acwing算法提高课--加成序列原创 2023-10-30 18:12:14 · 646 阅读 · 7 评论 -
【Acwing167】木棒(dfs+剪枝)超级详细题解!
本文讲解acwing算法提高课--剪枝--木棒原创 2023-10-27 10:51:59 · 836 阅读 · 6 评论 -
【1024程序员节特刊】算法题目易错之处干货总结
本文收藏了博主在做编程题目debug过程当中最常遇到的问题,本文随时更新,同时,如果文章有什么错误,或者其它的经验,希望各位大佬在评论区中分享原创 2023-10-24 12:05:48 · 810 阅读 · 7 评论 -
【Acwing166】数独(dfs+剪枝+位运算)超级详细题解!
本文讲解acwing算法提高课题目“数独”原创 2023-10-22 22:21:24 · 680 阅读 · 6 评论 -
【ccf-csp题解】第7次csp认证-第三题-路径解析超详细题解-字符串模拟
本题详细讲解ccfcsp第七次认证第三题路径解析原创 2023-10-11 11:41:23 · 376 阅读 · 6 评论 -
【ccf-csp题解】第7次csp认证-第二题-俄罗斯方块-简单碰撞检测算法
本文讲解第七次csp认证第二题“俄罗斯方块”原创 2023-10-10 18:48:32 · 761 阅读 · 3 评论 -
【Acwing187】导弹防御系统(LIS+剪枝+贪心+dfs+迭代加深)
本文章讲解acwing187导弹防御系统原创 2023-10-09 10:47:11 · 520 阅读 · 4 评论 -
【Acwing1010】拦截导弹(LIS+贪心)题解
本文讲解acwing1010拦截导弹原创 2023-10-08 22:12:53 · 949 阅读 · 3 评论 -
【ccf-csp题解】第5次csp认证-第三题-模板生成系统-字符串模拟
本文讲解第5次ccfcsp第三题原创 2023-09-25 20:49:00 · 769 阅读 · 3 评论 -
【Acwing1027】方格取数(动态规划)题解
本文章讲解acwing算法提高课题目“方格取数”原创 2023-09-24 18:07:45 · 253 阅读 · 1 评论 -
(纯干货建议收藏)大型字符串模拟-超强超全函数技巧总结
本篇总结字符串模拟常用技巧,随时更新,干货满满原创 2023-09-14 21:08:40 · 985 阅读 · 14 评论 -
【ccf-csp题解】第30次csp认证-第三题-解压缩-字符串模拟
本文章包含第30次csp认证第三题的满分代码原创 2023-09-12 22:56:47 · 747 阅读 · 2 评论 -
【ccf-csp题解】第四次csp认证-第四题-网络延时-树的直径
本文讲解第四次csp认证第四题,涉及dfs的知识原创 2023-09-10 17:19:20 · 422 阅读 · 1 评论 -
【ccf-csp题解】第3次csp认证-第三题-集合竞价-枚举
本文讲解ccfcsp第三次认证第三题,涉及枚举的知识原创 2023-09-09 14:46:37 · 370 阅读 · 1 评论 -
【ccf-csp题解】第2次csp认证-第四题-最优配餐-多源BFS
本文介绍第2次ccfcsp,第四题,涉及多源bfs知识原创 2023-09-08 23:07:30 · 354 阅读 · 0 评论 -
【ccf-csp题解】第1次csp认证-第四题-无线网络-特殊点个数限制的单源最短路径
本文章讲解第1次csp认证第四题--无线网络,涉及特殊点个数限制的单源最短路径的知识原创 2023-09-06 14:25:10 · 392 阅读 · 1 评论 -
【ccf-csp题解】第1次csp认证-第三题-命令行选项-字符串模拟
本文章讲解第1次csp认证第三题:命令行选项,涉及字符串模拟的知识原创 2023-09-05 22:29:22 · 760 阅读 · 0 评论 -
【ccf-csp题解】第0次csp认证-第五题-I‘m stuck!-反向bfs
本篇文章介绍第0次ccf-csp认证第五题:I'm stuck!,涉及反向bfs的知识原创 2023-09-05 13:25:30 · 329 阅读 · 0 评论 -
【ccf-csp题解】第0次csp认证-第四题-有趣的数-组合数学
本篇文章讲解第0次ccf-csp认证第四题--有趣的数,涉及组合数学的知识原创 2023-09-04 20:35:37 · 461 阅读 · 1 评论 -
【Acwing906】区间分组贪心策略证明与题解
本文章讲解acwing算法基础课“区间分组”题目的贪心策略以及证明原创 2023-08-28 16:19:42 · 123 阅读 · 5 评论 -
【Acwing905】区间选点贪心策略超清晰证明!!包含题解
本文章详细介绍acwing算法基础课贪心题目“区间选点”,并证明了贪心策略的正确性原创 2023-08-28 13:11:11 · 222 阅读 · 1 评论 -
【Acwing901】滑雪(记忆化搜索)题目讲解
本文章讲解acwing算法基础课的题目“滑雪”原创 2023-08-27 17:55:39 · 262 阅读 · 0 评论 -
【Acwing285】没有上司的舞会(树形dp)题目笔记
acwing算法基础课“没有上司的舞会”题目笔记原创 2023-08-27 15:29:34 · 151 阅读 · 1 评论 -
【Acwing91】最短Hamilton路径详细题解
讲解acwing算法基础课题目“最短Hamilton路径”原创 2023-08-27 14:27:03 · 218 阅读 · 1 评论 -
【Acwing338】计数问题题解
讲解acwing算法基础课中的“计数问题”题目原创 2023-08-26 21:45:44 · 202 阅读 · 0 评论 -
【Acwing291】蒙德里安的梦想(状态压缩dp)详细讲解
本文章详细介绍acwing算法基础课的题目“蒙德里安的梦想”原创 2023-08-25 15:55:46 · 1294 阅读 · 1 评论 -
【算法设计与分析】期末考试知识总结(知识超浓缩版)
根据重要程度,此文章选取了笔者本学期算法课程中的少部分内容,但是由于时间紧迫,不能对每一个地方都展开叙述,而侧重于对知识点的引导,很多地方都会是一笔带过,因此,本文章不适用于算法的0基础学习而非常适用于对算法知识的巩固和复习,大家可以根据自己学校的要求或者是自己的兴趣寻找相关内容的详解。写这篇文章主要的目的是记录自己第一次系统地学习算法的收获,希望对以后的回顾有所帮助,同时也对即将来临的期末考试添砖加瓦。当然也希望能够稍微帮助到读者复习算法这门课程。原创 2023-06-21 14:03:48 · 4112 阅读 · 4 评论 -
【acwing笔记】食物链 并查集法(C++)的一些问题
动物王国中有三类动物 A,B,C这三类动物的食物链构成了有趣的环形。A 吃 B,B 吃 C,C吃 A。现有 N 个动物,以 1∼N 编号。每个动物都是 A,B,C 中的一种,但是我们并不知道它到底是哪一种。有人用两种说法对这 N 个动物所构成的食物链关系进行描述:第一种说法是1 X Y,表示 X 和 Y是同类。第二种说法是2 X Y,表示 X吃 Y。此人对 N 个动物,用上述两种说法,一句接一句地说出 K 句话,这 K 句话有的是真的,有的是假的。原创 2022-12-11 12:59:20 · 273 阅读 · 1 评论 -
【算法·算法随笔】(大整数运算)大整数的进制转换问题万能解法,含codeup练习讲解(1950 problem b进制转换、1952 problem f 10进制vs2进制)
大数进制转换超强万能方法原创 2022-10-19 22:19:46 · 398 阅读 · 0 评论 -
【算法·算法随笔】(大整数运算)大浮点数问题的总结
算法笔记》中,对于大整数的运算,给出了最基础的几个算法模板,包括大整数的结构体、输出、与字符串的转换,以及四则预算(不包含高精度与高精度的乘除)。但是在codeup训练当中,又出现了两种经典问题,第一是对大浮点数的处理,第二是对于大整数的进制转换问题。定义一个布尔类型的flag,记录目前存储的状态(是正在处理整数部分还是处理小数部分呢?从后往前,先处理小数,从小数的低位开始相加,思路与普通的大整数相加思路差不多,然后再加整数部分就行了。原创 2022-10-19 20:56:06 · 408 阅读 · 0 评论