![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 86
抠脚的大灰狼
这个作者很懒,什么都没留下…
展开
-
Acwing - 算法基础课 - 笔记(数学知识 · 四)(补)
容斥原理 & 简单博弈论原创 2023-01-18 09:32:35 · 1055 阅读 · 1 评论 -
Acwing - 算法基础课 - 笔记(数学知识 · 三)(补)
高斯消元 & 组合数原创 2023-01-18 09:30:43 · 956 阅读 · 0 评论 -
LeetCode 324 周赛
很遗憾没有参加这场周赛,痛失一次AK的机会!T1是暴力模拟(可以留意一下使用位运算提取特征的技巧);T2是数论(分解质因数);T3是分类讨论;T4是一道简单的图论,找最近公共祖先。原创 2022-12-27 17:17:34 · 472 阅读 · 0 评论 -
LeetCode 323周赛
holy shit!本场周赛太拉跨了,只做出2题。T1是排序+模拟;T2是排序+递推(有点动态规划的意味);T3可以直接暴力做;T4是连通块问题。本次周赛,T3其实没有T2难,但T3我一直没通过。一是没注意到数据范围,也没想到可以直接用数组对内存分配进行暴力模拟;二是coding熟练度还不够,一些细节的处理不是特别好,coding中容易写错变量或者判断条件,然后需要花大量时间才能找到问题所在。比较可惜。T4听完并消化一些大佬的讲解后,发现难度不算大;做不出来,主要还是练的题不够多。原创 2022-12-26 16:56:36 · 563 阅读 · 0 评论 -
LeetCode 93 双周赛
T1是模拟;T2是遍历+排序;T3是贪心(也可以用二分);T4是思维题,需要分类讨论。原创 2022-12-23 13:17:38 · 646 阅读 · 0 评论 -
摩尔投票法:求解出现次数过半的众数
求解出现次数过半的线性时间复杂度,常数级空间复杂度的算法,摩尔投票法原创 2022-12-23 11:43:19 · 883 阅读 · 0 评论 -
LeetCode 322 周赛
T1是简单模拟;T2是哈希表,也可以找规律;T3是个简单的并查集;T4是并查集+BFS求最短路径树的最深层次。没想到T4可以直接暴力枚举所有点作为BFS的起点,我一开始可高估了时间复杂度,就在往贪心的方向上想,而没想到暴力可以做。原创 2022-12-22 12:53:11 · 766 阅读 · 0 评论 -
LeetCode 321 周赛
这次的T4难度不大,有机会AK的,但很可惜。T1简单模拟;T2双指针模拟;T3栈;T4哈希表。原创 2022-12-20 17:51:34 · 576 阅读 · 0 评论 -
LeetCode 92 双周赛
就开始想,由于回文长度为5,且回文具有对称性,那么只需要计算某个位置的字符作为回文串的第一个,第二个字符即可。作为回文序列的第一个字符,那么我们需要找到其对称的最后一个字符,只要确定最后一个字符的位置,我们就可以把问题转变为求解中间区间内,长度为3的回文子序列的个数。作为中点的回文子序列有多少个,由于回文子序列长度为5,左右两侧是对称的,那么只需要枚举一侧的两位数字,对于每种组合。对于枚举中点来说,看以当前元素作为回文序列的中间点,能构成的长度为5的回文序列,那么只要看当前位置之前的。的回文子序列的个数。原创 2022-12-20 14:44:38 · 572 阅读 · 0 评论 -
每日一题 —— LC. 1687 从仓库到码头运输箱子(难度很大,但值得好好消化的一道题)
这道题目还是非常的有难度的,难度估分达到了2600分。我花了2天才把这道题搞明白,太不容易了!(TAT此题考察的知识点也比较多,需要将多种经典算法组合起来,包含了动态规划,前缀和,单调队列或贪心。值得好好消化理解。单调队列的优化思路尤其难想,需要对等式,不等式进行变换,以及观察规律。原创 2022-12-09 11:38:58 · 683 阅读 · 0 评论 -
每日一题 —— LC. 1774 最接近目标价格的甜点成本
你打算做甜点,现在需要购买配料。目前共有 种冰激凌基料和 种配料可供选购。而制作甜点需要遵循以下几条规则:给你以下三个输入:你希望自己做的甜点总成本尽可能接近目标价格 。返回最接近 的甜点成本。如果有多种方案,返回 成本相对较低 的一种。提示示例思路由于自己还比较菜,所以当时的思路一通乱飞。但是记录下自己思考的过程我觉得挺好还原一下我当时的脑子:(真是个猪脑子,怎么推出来 2302^{30}230的?)我仔细回想了下当时的情景,2302^{30}230 大概是这么来的 →真是个猪脑子 × 2其实暴原创 2022-12-07 16:12:04 · 401 阅读 · 0 评论 -
每日一题 —— LC. 1752 检查数组是否经排序和轮转得到
有一种做法比较巧妙又简单,特此记录原创 2022-12-05 17:23:39 · 315 阅读 · 1 评论 -
每日一题 —— 882. 细分图中的可到达节点
最短路算法Dijkstra的简单应用原创 2022-12-05 16:48:14 · 656 阅读 · 1 评论 -
每日一题 —— LC. 795 区间子数组个数
逆向思维+单调栈原创 2022-11-24 15:11:52 · 313 阅读 · 0 评论 -
每日一题 —— LC. 891 子序列的宽度之和
逆向思维+数学原创 2022-11-24 14:38:27 · 399 阅读 · 0 评论 -
LeetCode 320 周赛
本场周赛太拉跨了!T1做完后,T2一直被卡住,还好后面暂时跳过了T2去做T3,T3做完后又回过头来继续调试T2。在最后10分钟调过了(虽然后来看运行时长达到了1400ms(差点就过不了))。这周被T2搞了,差点就是一题选手。T1是暴力模拟;T2是预处理+二分;T3是图的遍历;T4是动态规划+前缀和优化。T4还是具有一些思维难度的。原创 2022-11-23 16:53:58 · 289 阅读 · 0 评论 -
LeetCode 319 周赛
第三次AK,还是有点小激动的!T1是模拟;T2是数论;T3是层序遍历+选择排序/置换环;T4是回文串题目,其实是2个问题的组合,1是求回文串,2是求不重叠回文子串的最大数目;可以用中心开花求回文串,并用贪心求答案;也可以用更为朴素的动态规划。原创 2022-11-22 16:38:31 · 546 阅读 · 0 评论 -
LeetCode 91 双周赛
本场比赛只做出3题,T4读题花了太久时间。T1是双指针简单模拟;T2是动态规划;T3是图的遍历;T4是模拟。原创 2022-11-22 10:42:04 · 572 阅读 · 0 评论 -
LeetCode 318 周赛
T1是双指针模拟;T2是滑动窗口;T3是双指针+堆;T4是动态规划这次周赛是在周日上午,由于前一周拔了牙,当天周日早上去医院拆线,所以这场周赛没有参加。后来做了下虚拟比赛,只做出3题,T4还差点思维。原创 2022-11-18 10:40:11 · 628 阅读 · 0 评论 -
每日一题 —— LC. 790 多米诺和托米诺
有两种形状的瓷砖:一种是2 x 1的多米诺形,另一种是形如 “L” 的托米诺形。两种形状都可以旋转。给定整数n,返回可以平铺2 x n的面板的方法的数量。返回对10^9 + 7取模 的值。平铺指的是每个正方形都必须有瓷砖覆盖。两个平铺不同,当且仅当面板上有四个方向上的相邻单元中的两个,使得恰好有一个平铺有一个瓷砖占据两个正方形。原创 2022-11-17 16:08:14 · 366 阅读 · 0 评论 -
每日一题 —— LC. 792 匹配子序列的单词数
特别注意!!!!使用C++刷题时尽可能使用引用!!!!原创 2022-11-17 10:39:38 · 649 阅读 · 0 评论 -
每日一题 —— LC. 805 数组的均值分割
然后对后15个数再做一次暴力搜索,对于后15个数的每种方案,我们看一下能否和前15个数的某个方案组合在一起,形成满足条件的方案。不过我们的判断条件就变得更为简单了,假设存在满足条件的划分,那么我们找到的A数组的和一定为0,B数组的和也一定为0。假设数的总个数为30,我们可以先对前15个数做一次暴力搜索,找出前15个数的所有组合方案,这时的复杂度为。既然是选取某些数,那么容易想到,每个数都有选或者不选两种情况,根据题目的数据范围,数组的总长度最大为30,那么总的方案数就是。),若有,则找到一种有效划分。原创 2022-11-16 21:16:14 · 399 阅读 · 0 评论 -
每日一题 —— LC. 775 全局倒置与局部倒置
根据上面的分析,要局部倒置等于全局倒置,则数组整体来看是要单调递增的,如果出现递减,则一定是相邻两个数。仔细审题,由于每个局部倒置,一定是一个全局倒置。而要局部倒置和全局倒置的数量相等,则说明所有的全局倒置就是所有的局部倒置。局部倒置的数量可以通过一次遍历求出,全局倒置的数量等同于求逆序对数量,可以用归并排序来做。右侧的数不必考虑,因为在遍历到右侧某个数时,会往左看,是会把。若没有这个特殊的条件,则思路二才是更加通用的做法。,所以A一定是大于等于A左侧的所有数的(),B也一定是小于等于B右侧的所有数的(原创 2022-11-16 11:34:54 · 286 阅读 · 0 评论 -
LeetCode 317 周赛
这场比赛一雪昨晚只做出2题的耻辱!但这场比赛总的来说难度感觉不是很大。T1是模拟;T2是模拟+哈希表;T3是贪心;T4是图论DFS,树的遍历;原创 2022-11-01 14:48:22 · 254 阅读 · 0 评论 -
LeetCode 90 双周赛
本场比赛很拉跨。只做出两题。最近准备换租,当天晚上去楼上新的房子里打扫了卫生,有点累,做题的时候有点心不在焉,边做边和朋友聊天。哈哈哈,结果第一题花了45分钟才做出来。第三题也是在临近12点比赛结束时才发现规律, 等到提交通过时已经是12点4分了。T1可以模拟,也可以用哈希表;T2暴力;T3是数学问题,需要察觉到规律就是模运算,同余;T4是单调栈的变形运用,注意,如果扩展一下,求右侧第k大,那么y总的那种下标排序+有序列表是比较有效的。另外,这里再次看到了,原创 2022-10-31 16:38:48 · 302 阅读 · 0 评论 -
每日一题 - LeetCode 907.子数组的最小值之和
并不能取到第一个3的位置以及更左侧的位置,所以,对于那些左端点在第一个3左侧,右端点在第二个3右侧的子数组,在第一个3的时候已经被算过,且在第二个3时不会再次被计算,对于后续再出现相同的3也一样。我们计算所有子数组的最小值的和,肯定是不能通过子数组来算了,因为只要通过枚举子数组来算,子数组的个数就一定是。,由于重复的子数组需要满足的条件是,左端点在第一个3左侧,右端点在第二个3右侧。],容易看到,这是同一个子数组。对于第一个3,左侧第一个小于等于3的位置是0,右侧第一个小于3的位置是6,那么其辐射范围为。原创 2022-10-28 17:15:27 · 623 阅读 · 0 评论 -
LeetCode 316 周赛
本周周赛太拉跨,只做出了2题。T3一直坐牢到比赛结束。当时看了下T3和T4都是hard,心理也生出了些许畏惧。今天重做时,发现T4也并不难。可惜!T1模拟;T2暴力枚举GCD;T3贪心,T4贪心。原创 2022-10-26 16:30:03 · 548 阅读 · 0 评论 -
LeetCode315 周赛
这场周赛,只做出2题,WHAT A SHAME!掉大分!T3一直在观察找规律,坐牢直到比赛结束。没有注意到数据范围其实比较小,可以直接用暴力来做。可惜了。另外T3在数据范围比较大的时候,注意需要用另一种方法来做(双指针+动态规划+DFS),题解看的我脑壳疼,之后再慢慢啃了。T3这一类可以都归结到数位统计这一大类问题中,事后可以多刷刷相关题目。另外一道类似的题目(升级版)->镜像拆分另外,T4难度没有特别大,听了y总讲解后一下就理解了。原创 2022-10-18 16:23:02 · 547 阅读 · 0 评论 -
LeetCode 89 双周赛
T1模拟;T2位运算+前缀和;T3找规律/二分;T4 图论DFS。这次周赛,对我来说感觉难度不小。非常侥幸并吃力地做出了3题。还要继续努力啊。原创 2022-10-17 16:36:21 · 508 阅读 · 0 评论 -
LeetCode 314 周赛
T1直接模拟;T2是前缀和与差分;T3是栈+贪心;T4是动态规划。原创 2022-10-12 14:45:53 · 437 阅读 · 0 评论 -
LeetCode 313 周赛
T1,T2都是直接暴力模拟;T3是位运算+贪心;T4是动态规划+字符串哈希。今天重做,只做出3道,还需再接再厉。原创 2022-10-12 14:45:16 · 354 阅读 · 0 评论 -
LeetCode 88 双周赛
这场周赛是10月1日晚上10点半的。当晚我到达福建某电竞酒店,开始了和小伙伴的峡谷之夜,并准备开始国庆之旅。于是10/1和10/2两天的周赛都没有参加。今天重做。从9点到11点,花了2个小时,把4道题目都做出来了。哈哈哈!错过一次可能AK的机会!原创 2022-10-12 09:08:23 · 479 阅读 · 0 评论 -
LeetCode 312 周赛
只打周赛感觉还不太够,得多刷题,图论这类题熟练度太低了。另:这次学到了一个将下标单独取出来,按照某种策略对下标进行排序的技巧。注意Java里面这样处理时,下标需要用Integer数组来存,因为排序API()对原始类型int,不支持自定义的Comparator。另:刷算法题目:锻炼代码能力,因为都是固定的题型,可以反复理解,记忆,练习;参加周赛:锻炼思维能力,因为都不是原题。一般刚开始,需要先锻炼代码能力。原创 2022-09-26 16:40:16 · 612 阅读 · 0 评论 -
LeetCode 311 周赛
这周日早上被对象拉着去打羽毛球,可我大抵是病了,心里横竖都想着周赛,这冲动没有来由。于是背了台轻薄本就出门了。10点半刚好到球场,然后就在球场边的板凳上打起了周赛😂好在这次周赛难度不大,差不多11点10分的时候做完了4道题,然后就开心的打球去啦!事后想想,还好我背上了电脑参加了周赛,不然就要错过好不容易的AK的机会!😭。原创 2022-09-21 17:36:49 · 395 阅读 · 0 评论 -
LeetCode 87 双周赛
这次周赛,考了好几道贪心。对于贪心题目,考察的比较多的是思维。平时训练时,要注重对贪心策略正确性的证明。这次的第4题是属于思维能力还不够。还要继续加油啦~原创 2022-09-21 17:22:54 · 397 阅读 · 0 评论 -
LeetCode 310 周赛
本次周赛表现不错,前3题在半个小时内就都做出来了,然后最后一题坐牢了1个小时。第4题属于没办法,没学过线段树。用线段树是比较好想的,也有其他的不使用线段树的解法,有待后续再研究了。原创 2022-09-20 18:13:17 · 491 阅读 · 0 评论 -
LeetCode 309 周赛
LeetCode 309 周赛,过了3题,再接再厉~原创 2022-09-13 23:04:37 · 316 阅读 · 0 评论 -
LeetCode 86 双周赛
可惜这次周赛没有和第四题打照面。不然有机会A掉第四题的。第三题也是本来有机会过的!这样来看,四舍五入就相当于我AK了,哈哈哈!(YY一下)原创 2022-09-09 17:40:05 · 530 阅读 · 0 评论 -
LeetCode 308 周赛
本场周赛成绩很糟糕,第一题没写出。下次还得继续加油。原创 2022-09-09 17:38:19 · 356 阅读 · 0 评论 -
LeetCode307 周赛(补记)
LeetCode 307 周赛,还不错,3题,心满意足。继续加油!原创 2022-09-06 11:23:11 · 231 阅读 · 0 评论