2022寒假每日一题打卡
文章平均质量分 54
机械之忍
y门门外弟子
展开
-
ACwing寒假每日一题2022打卡 Day 11
原题链接:1960. 闪烁 - AcWing题库高质量的算法题库https://www.acwing.com/problem/content/1962/思路:状态压缩+找环,不断枚举下一个状态,然后存一下每个状态的步数,如果出现重复就说明出现环了,注意别忘加上起点到出现环的步数,本题主要是训练状态压缩,具体细节见代码Code:#include <iostream>#include <cstring>#include <algorithm>u原创 2022-02-14 00:16:34 · 428 阅读 · 0 评论 -
ACwing寒假每日一题2022打卡 Day 10
原题链接:1969. 品种邻近 - AcWing题库高质量的算法题库https://www.acwing.com/problem/content/1971/思路:按题目要求模拟就行了,不要暴力,重点是动态处理,用O(n)的做法就行了#include <iostream>#include <cstring>#include <algorithm>#include <vector>using namespace std;const.原创 2022-01-23 23:55:01 · 223 阅读 · 0 评论 -
ACwing寒假每日一题2022打卡 Day 9
原题链接:1978. 奶牛过马路 - AcWing题库高质量的算法题库https://www.acwing.com/problem/content/1980/思路:维护两个数组Smax,Smin分别代表每个点的前缀最值和后缀最值对于不相交的情况,当且仅当max(b[0],b[1],b[2]...b[i-1])<b[i]&&min(b[n-1],b[n-2],b[n-3]...b[i+1])>b[i],所以先将下端点排序,然后维护一个前缀最大值数组和后缀最.原创 2022-01-23 23:49:35 · 259 阅读 · 0 评论 -
ACwing寒假每日一题2022打卡 Day 8
原题链接:1987. 粉刷栅栏 - AcWing题库高质量的算法题库https://www.acwing.com/problem/content/1989/思路:哈希+差分。本题虽然n比较小,但a[i]的规模很大,所以想到用map储存下标,奶牛移动无非也就是给某个区间都加1,这就想到差分了,但注意一点,差分map中的点是离散的,要还原成原数组需要求前缀和,但由于值域规模很大,所以直接求前缀和肯定超时,所以需要注意差分数组的性质,如下图所示:所以会发现只需处理出现在差分数组里的元素即可,.原创 2022-01-12 00:48:58 · 223 阅读 · 0 评论 -
ACwing寒假每日一题2022打卡 Day 7
原题链接:1996. 打乱字母 - AcWing题库高质量的算法题库https://www.acwing.com/problem/content/1998/思路:字符串排序+二分。本题需要的前置知识:sort可以直接排序字符串,按每个字符的字典序排序,sort也可以排序字符串数组,按每个字符串的字典序排序了解了以上语法,就把这道题当成整数二分去做就行,把字符和字符串都看成整数,这题就十分清晰了。注意整数二分的两者靠拢模式,本题字典序小的应该尽量往左,大的应该尽量往右Code:#原创 2022-01-12 00:30:23 · 226 阅读 · 0 评论 -
ACwing寒假每日一题2022打卡 Day 6
原题链接:2005. 马蹄铁 - AcWing题库高质量的算法题库https://www.acwing.com/problem/content/2007/思路:直接dfs暴力枚举所有路径然后求最大值就行,唯一麻烦一点的地方就是还得写个check函数判断一下路径是否合法,这题数据范围小,就是练暴力用的,具体细节见代码Code:#include <iostream>#include <cstring>#include <algorithm>us原创 2022-01-11 11:20:12 · 445 阅读 · 0 评论 -
ACwing寒假每日一题2022打卡 Day 4
原题链接:2019. 拖拉机 - AcWing题库高质量的算法题库https://www.acwing.com/problem/content/2021/思路:双端队列bfs,本题存在权重为0的边,即没有干草堆的路径,由于本题求的是最少移除干草堆的数量,所以有干草堆的路径可能对答案有贡献,即边权为1,这种情况显然直接bfs解决不了,因为普通bfs只能处理边权都一样且大于等于0的图,所以本题采用双端队列,每次入队的时候判断一下,把边权为0的边入队头,边权为1的边入队尾,直观上来讲就是先处理非干草堆原创 2022-01-11 11:15:48 · 284 阅读 · 0 评论 -
ACwing寒假每日一题2022打卡 Day 3
原题链接:2060. 奶牛选美 - AcWing题库高质量的算法题库https://www.acwing.com/problem/content/2062/思路:bfs+暴力枚举,看过我博客acwing题库部分的读者应该很熟悉,这道题的变形是我第一篇写的博客,详情可以参考ACwing 4004.传送阵_机械之忍的博客-CSDN博客原题链接: 4004. 传送阵 - AcWing题库https://www.acwing.com/problem/content/4007/思路:如果起点和终点...原创 2022-01-05 00:09:49 · 782 阅读 · 0 评论 -
ACwing寒假每日一题2022打卡 Day 2
原题链接:2041. 干草堆 - AcWing题库高质量的算法题库https://www.acwing.com/problem/content/2043/思路:差分模板题,直接写个差分函数动态更新即可,具体细节见代码Code:#include <iostream>#include <cstring>#include <algorithm>using namespace std;const int N = 1e6+10;int b[N];原创 2022-01-05 00:05:13 · 647 阅读 · 0 评论 -
ACwing寒假每日一题2022打卡 Day 1
原题链接:2058. 笨拙的手指 - AcWing题库高质量的算法题库https://www.acwing.com/problem/content/2060/思路:由题意,二进制中改变一位,三进制中改变一位,两者改完后恰好是同一个十进制数,直接暴力枚举二进制和三进制的每一位改变情况再变成十进制找重复就行了,注意是枚举二进制和三进制,不要枚举十进制分解,不然n=1e9超时Code:#include<iostream>#include<cstring>#incl原创 2022-01-05 00:01:12 · 705 阅读 · 0 评论