算法题解
文章平均质量分 81
一些算法题的题解
玉树临风ives
曾经的OI狗 ACM-ICPC区域赛银牌 顶级暴力代码写手
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
atcoder ABC438 题解
atcoder abc 438 题解原创 2025-12-29 12:01:54 · 729 阅读 · 0 评论 -
CSP-J2022 山东 题解
受疫情影响,山东省取消了 CSP-J 2022 认证活动,并于次年三月重新命题,在省内补办比赛。植树节快要到了,学校要组织志愿者去给树苗浇水。有一排树苗,编号依次是 0,1,2,…0,1,2,\dots0,1,2,…。现有 nnn 个志愿者去给树苗浇水,第 iii 个志愿者选定了一个区间 [ai,bi]\left[a_{i},b_{i}\right][ai,bi] ,表示第 iii 个志愿者将 [ai,bi]\left[a_{i},b_{i}\right][ai,bi] 这一区间内的每一棵树都浇一次原创 2025-03-30 00:30:50 · 924 阅读 · 0 评论 -
leetcode 2360 图中最长的环 题解
我们直接说结论,我们从任意一个点出发,用一个数组存下来到达每一个点的最短步数,如果发现一个点之前已经被遍历过了,那么这个点一定是一个环的起点和终点,环的长度是当前的步数减去这个点的最短步数。所以当我们遍历的时候,所有经过的点和边形成的一定是一个链型的结构。当发现有一个点重复遍历的时候,一定是返回到了链上前面的某一个点,形成了一个环,我们统计一下答案就好了。任意两次遍历是互不影响的,或者说一个环只可能出现在具体的一次遍历当中,所以当我们完成一次遍历的时候,直接把这次的点全部都删了就行,不然复杂度就上来了。原创 2025-03-29 22:05:14 · 628 阅读 · 0 评论 -
2023 CSP-J 题解
CSP-J题解原创 2025-03-19 23:08:56 · 1292 阅读 · 0 评论 -
leetcode 3266 K次乘运算后的最终数组II 题解
当 k 非常大的时候,很显然整个数组都会变得 “差不多一样大”,因为每次对最小的元素进行一个乘法操作,当 k 非常大的时候,数组中所有的元素都会变成 multiplier 的某次方然后乘上一个很小的数,这个数就是题目中给出的数组中的元素(相对于乘上的数很小)。例如上面这张图上的样例,当数组变成了 [8, 8, 6, 5, 6] 的时候,其中所有的元素都满足乘以 2 之后是数组的最大值,后面就开始进行了重复的乘法操作。我们发现在元素的选择上,貌似当数组达成了某些条件之后,元素的选择就会陷入循环。原创 2024-12-14 18:04:27 · 1214 阅读 · 0 评论 -
leetcode 2931 购买物品的最大开销
首先我们通过贪心可以显然得到,我们先买便宜的,然后再买贵的一定是最优的做法,其次我们从小到大枚举所有的物品,不会破坏题目中必须先买最便宜的物品的要求,因为当我们购买一个物品的时候,与其同一个商店并且更便宜的商品肯定已经被购买完毕了。n 个商品全部都买下来,每天买一个,但是每次只能买某一个商店里面的最便宜的那一个,代价是当前的天数乘以这个物品的价值。一共有 m 个商店,每个商店都有 n 个物品,每个物品有一个价值,然后现在我们要把这 m。直接说结果,我们把所有商店的物品集中到一起排序,然后从小到大依次购买。原创 2024-12-12 11:08:24 · 370 阅读 · 0 评论 -
leetcode 684 冗余连接 题解
这题用鸡毛并查集啊,直接 tarjan 求割边呗,为了水这篇题解,我还专门写了个 tarjan 的博客,嘿嘿。原创 2024-10-27 18:12:53 · 540 阅读 · 0 评论 -
2024 CSP-J 题解
题目给出了一整套牌的定义,但是纯粹在扯淡,完全没有必要去判断给出的牌的花色和点数,我们用一个循环来依次读入每一张牌,如果这个牌在之前出现过,我们就让答案减一。这里建议用map、unordered_set或者给每一种牌一个编号,然后用数组存储也可以。原创 2024-10-27 14:53:10 · 1823 阅读 · 0 评论 -
leetcode25 K个一组翻转链表 题解
有一个重要的点,就是大家要维护好整个链表的第一个节点,因为虽然题目给出了第一个节点的指针,但是在我们的骚操作之后,这个指针就会发生变化。我的操作是新建一个新的节点,然后让这个节点的 next 来保存第一个节点的信息,最后我们就只要返回这个节点的 next 就行了。假设用五个点表示链表的一部分,其中中间三个点是一组的,我们的第一步就是让他们内部的指向正确,具体的步骤是这样的,我们用三个指针 tmp、tmp1、tmp2 一步一步的完成操作。最后就是这样的了,中间的三个节点翻转,而且不影响其他的点。原创 2024-07-30 22:52:40 · 1114 阅读 · 0 评论 -
leetcode10 正则表达式匹配 题解
这题面给的真是一坨goushi啊,中英文题面全是错的的地方。原创 2024-07-26 18:52:20 · 876 阅读 · 0 评论 -
leetcode135 分发糖果 题解
第一个 for 循环是判断哪些小朋友位于递增的子数列里,因为他右边的第一个和他不一样的值如果比他大的话,那么他所处的位置肯定就是递增的,但是一定要注意最后一个位置,即使他左边的值比他大,他也有可能只被分到一颗糖果,一会给大家举个例子。同理,第二个 for 循环是判断哪些小朋友处于递减的子数列里面,因为他左边的第一个跟他不一样的值如果比他大的话,就是处于递减的位置。但是这里有一个恶心的地方,就是如果两个挨着的小朋友rating值一样,分到的糖果谁多谁少都无所谓(感觉题面出的很不切实际[doge])。原创 2024-07-14 15:15:06 · 979 阅读 · 0 评论 -
leetcode 2970/2972 统计移除递增子数组的数目
摆烂了挺长时间的,重新开始写题解。原创 2024-07-11 18:38:41 · 1016 阅读 · 0 评论 -
leetcode928 尽量减少恶意软件的传播II 题解
嘿嘿,再来水一篇题解。原创 2024-04-17 09:50:48 · 294 阅读 · 0 评论 -
leetcode924 尽量减少恶意软件的传播 题解
读题读一年,题是个水题。原创 2024-04-16 08:50:20 · 406 阅读 · 0 评论 -
leetcode1766 互质树 题解
早起一看今天的题吓我一跳,好家伙 “互质树” 听起来就是一个非常 diao 的题,题面看起来也非常 diao,但是看完数据范围就发现这题有点拉了。原创 2024-04-11 07:05:07 · 2008 阅读 · 0 评论 -
leetcode310 最小高度树 题解
大致意思是给你一个树,然后让你选择一些点作为根,使得树的高度最小。原创 2024-03-17 15:28:45 · 1433 阅读 · 1 评论 -
leetcode2312 卖木头块 题解
我心思这题也不难啊,怎么看题解大家都写了这么大一坨(❁´◡`❁)原创 2024-03-15 09:15:04 · 881 阅读 · 1 评论 -
leetcode2386 找出数组第K大 题解
leetcode2386题解 优先队列 + 状态转移 + 思维原创 2024-03-13 01:58:30 · 1544 阅读 · 0 评论
分享