上一页 1 ··· 23 24 25 26 27 28 29 30 31 ··· 61 下一页
摘要: 原题链接:https://www.luogu.com.cn/problem/UVA11572 题意解读:本质上是要计算最长连续不重复子序列的长度,典型的双指针应用。 解题思路: 通过双指针来枚举子序列,右指针指向的元素每次记录元素出现的次数,可以借助hash数组h[] 如果枚举到的元素出现次数超过1 阅读全文
posted @ 2024-09-03 14:52 hackerchef 阅读(132) 评论(0) 推荐(0)
摘要: 原题链接:https://www.luogu.com.cn/problem/P2216 题意解读:在矩阵中找n*n正方形里最大值和最小值差值的最小值。 解题思路: 1、枚举法 直接枚举所有n*n的正方形的位置,然后在遍历求最大值、最小值,复杂度为O(n^4),显然不能通过。 2、二维单调队列 既然是 阅读全文
posted @ 2024-09-03 11:19 hackerchef 阅读(126) 评论(0) 推荐(0)
摘要: 原题链接:https://www.luogu.com.cn/problem/P2032 题意解读:求滑动窗口内的最大值,典型的单调队列应用。 解题思路: 单调队列的三部曲: 1、去头。已存入的元素个数超过k,则去头。注意队列里存的是元素下标,只需要用当前下标减去队头元素来判断即可。 2、去尾。根据单 阅读全文
posted @ 2024-09-03 09:42 hackerchef 阅读(83) 评论(0) 推荐(0)
摘要: 原题链接:https://www.luogu.com.cn/problem/P1950 题意解读:在一张n*m个格子的纸上,从没有画过的格子中剪出长方形的方案数。 解题思路: 1、暴力做法 枚举所有的子矩阵O(n^4),然后用二维前缀和计算子矩阵的和,通过和来判断子矩阵是否全部是'.'。 2、优化做 阅读全文
posted @ 2024-08-30 09:47 hackerchef 阅读(202) 评论(0) 推荐(0)
摘要: 原题链接:https://www.luogu.com.cn/problem/P2866 题意解读:每个牛能看到的右边比他矮的牛,直到有比他高的挡住为止,因此只用找每个牛右边第一个比他高的牛的位置即可计算中间比他矮的有多少。 解题思路: 典型的单调栈应用,注意,常规的单调栈可以用来: 1、找每个数左边 阅读全文
posted @ 2024-08-15 18:07 hackerchef 阅读(116) 评论(0) 推荐(0)
摘要: 原题链接:https://www.luogu.com.cn/problem/P4147 题意解读:找到一个只包含'F'的最大的子矩形。 解题思路: 方法1:设R为0,F为1,先计算二维前缀和,再枚举所有子矩形左上角(x1,y1)、右下角(x2,y2),计算子矩形的区间和,更新最大值,只能得到部分分。 阅读全文
posted @ 2024-08-15 16:32 hackerchef 阅读(158) 评论(0) 推荐(0)
摘要: 参考:https://www.cnblogs.com/jcwy/p/18233382 阅读全文
posted @ 2024-08-14 11:26 hackerchef 阅读(39) 评论(0) 推荐(0)
摘要: 参考:https://www.cnblogs.com/jcwy/p/18245783 阅读全文
posted @ 2024-08-14 10:00 hackerchef 阅读(62) 评论(0) 推荐(0)
摘要: 原题链接:https://www.luogu.com.cn/problem/P1115 题意解读:最大连续子序列的和。 解题思路: DP的做法可参考:https://www.cnblogs.com/jcwy/p/18144124 也可以采用双指针来枚举: i从1开始,j=i 用j来枚举连续序列,如果 阅读全文
posted @ 2024-08-14 10:00 hackerchef 阅读(91) 评论(0) 推荐(0)
摘要: 原题链接:https://www.luogu.com.cn/problem/P1638 题意解读:在n个数中,选出a、b两个端点,使得a~b之间不同的数字为m,且b-a最小。 解题思路: 要寻找最小的包括所有数字的区间,可以采用双指针算法 1、设i,j分别是左右指针 2、如果当前区间内不同数字个数不 阅读全文
posted @ 2024-08-13 17:40 hackerchef 阅读(83) 评论(0) 推荐(0)
上一页 1 ··· 23 24 25 26 27 28 29 30 31 ··· 61 下一页