随笔分类 -  洛谷官方题单

上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 24 下一页
摘要:原题链接:https://www.luogu.com.cn/problem/P2345 题意解读:有n头牛,每头牛都有听力v、坐标x两个属性,要计算每两头牛的max{vi​,vj​}×∣xi​−xj​∣ 之和。 解题思路: 首先想到的肯定是枚举法,需要O(n^2)的复杂度 有没有优化的方法? 可以采 阅读全文
posted @ 2024-09-19 14:49 hackerchef 阅读(60) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1257 题意解读: 解题思路: 1、暴力法 枚举每两个点,更新距离最短值 2、分治法 将点按x坐标排序,a[i].x,a[i].y表示第i个点的x,y坐标 将点划分为两部分,设左半部分为A,右半部分为B 两个距离最短的点 阅读全文
posted @ 2024-09-18 14:30 hackerchef 阅读(119) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P2415 题意解读:计算集合所有子集中元素之和。 解题思路: 集合的特性:互异性,元素各不相同 来看样例:2 3,可以组成的子集有 空 2 3 2 3 2和3都出现2次 再比如:1 2 3,可以组成的子集有 空 1 2 3 阅读全文
posted @ 2024-09-15 12:05 hackerchef 阅读(130) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P7167 题意解读:从喷泉任意一个圆盘倒水,水流经的圆盘直径必须递增,水最后流到哪个圆盘。 解题思路: 1、枚举法 有30%的数据范围在N<=1000,Q<=1000,因此枚举也可以得到30分。 可以通过单调栈预计算每个圆 阅读全文
posted @ 2024-09-14 11:46 hackerchef 阅读(115) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1226 题意解读:快速幂模版题。 解题思路: 1、分治法 要计算a^b,可以对b分情况讨论: 如果b是偶数,即b = 2t,a^b = a^t * a^t 如果b是奇数,即b = 2t + 1,a^b = a * a^t 阅读全文
posted @ 2024-09-12 12:15 hackerchef 阅读(159) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1966 题意解读:计算两个序列∑(ai​−bi​)^2的最小值,对10^8-3取模。 解题思路: 1、贪心思路 要使得两个序列对应位置元素之差的平方和最小,必须满足两个序列相对排序是一致的,什么意思? 设a序列有两个元素 阅读全文
posted @ 2024-09-12 09:47 hackerchef 阅读(49) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1908 题意解读:求序列逆序对数。 解题思路: 1、暴力法 对于每一个数,寻找后面有多少数比其小,或者采用冒泡排序,交换的次数即逆序对的个数,复杂度为O(n^2) 2、归并排序法 在归并排序过程中,会进行有序序列的合并, 阅读全文
posted @ 2024-09-11 14:07 hackerchef 阅读(104) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1177 题意解读:归并排序模版题。 解题思路: 第一步:确定分界点。mid = ( l + r) / 2 第二步:排序。对左右两边递归排序 第三步:归并。合并左右两边排序好的内容 关键在第三步:通过双指针对两个有序数组进 阅读全文
posted @ 2024-09-11 10:12 hackerchef 阅读(91) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1714 题意解读:求长度不超过m的最大子段和 解题思路: 1、暴力法 设a[N]表示原数组,s[N]是a[N]的前缀和,对于每一个元素s[i],计算其与前m个元素之差,取差值最大值,用代码表示: for(int i = 阅读全文
posted @ 2024-09-10 18:20 hackerchef 阅读(72) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P2880 题意解读:在若干个不定长区间里,求区间最大值与最小值之差 解题思路: 对于区间求最值,通常有几种方式: 1、暴力法,通过枚举所有的区间来计算区间最值 2、单调队列,针对区间长度固定的情况 3、ST表,针对区间长度 阅读全文
posted @ 2024-09-10 15:22 hackerchef 阅读(110) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1886 题意解读:单调队列模版题。 解题思路: 采用双端队列维护单调的序列,单调队列三部曲: 1、去头,当窗口内元素个数超过k,队头出队 2、去尾,当要加入的元素会破坏单调性,队尾出队,这是因为如果当前元素比队尾元素更优 阅读全文
posted @ 2024-09-09 16:22 hackerchef 阅读(125) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P3467 题意解读:用长方形的海报覆盖建筑的侧面,最少需要的海报数 如上图,左边最少需要3张,右边最少需要4张 解题思路: 可以看出,需要海报数与建筑宽度无关,只与高度有关。 当建筑高度与之前不同时,肯定需要增加一张海报; 阅读全文
posted @ 2024-09-06 10:48 hackerchef 阅读(75) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1578 题意解读:在有障碍点的矩形内找到一个最大矩形,内部不能包含障碍点,边缘可以包含障碍点。 解题思路: 求最大矩形的两种算法:极大矩形法、悬线法,背景知识阅读:浅谈用极大化思想解决最大子矩阵问题 关于悬线法,前面在玉 阅读全文
posted @ 2024-09-06 10:27 hackerchef 阅读(78) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P3143 题意解读:找到两个不相交的最长连续序列,使得序列最大值和最小值差不超过k,求两个最长的序列长度和。 解题思路: 先将所有数从小到大排序,记为a[] 要找到两个不相交的最长连续序列,可以采用下面技巧: 设b[i]表 阅读全文
posted @ 2024-09-04 11:10 hackerchef 阅读(77) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P4653 题意解读:选中的灯泡中,某一类较少的总权值减去灯泡数量所得到的收益最大值。 解题思路: 注意,此题关键是:要使得较少的收益最大化 1、要最大化,意味着每次应该选择尽可能大权值的灯泡 2、要使A、B类中较少的收益最 阅读全文
posted @ 2024-09-04 10:10 hackerchef 阅读(86) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/UVA11572 题意解读:本质上是要计算最长连续不重复子序列的长度,典型的双指针应用。 解题思路: 通过双指针来枚举子序列,右指针指向的元素每次记录元素出现的次数,可以借助hash数组h[] 如果枚举到的元素出现次数超过1 阅读全文
posted @ 2024-09-03 14:52 hackerchef 阅读(110) 评论(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 阅读(105) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P2032 题意解读:求滑动窗口内的最大值,典型的单调队列应用。 解题思路: 单调队列的三部曲: 1、去头。已存入的元素个数超过k,则去头。注意队列里存的是元素下标,只需要用当前下标减去队头元素来判断即可。 2、去尾。根据单 阅读全文
posted @ 2024-09-03 09:42 hackerchef 阅读(67) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1950 题意解读:在一张n*m个格子的纸上,从没有画过的格子中剪出长方形的方案数。 解题思路: 1、暴力做法 枚举所有的子矩阵O(n^4),然后用二维前缀和计算子矩阵的和,通过和来判断子矩阵是否全部是'.'。 2、优化做 阅读全文
posted @ 2024-08-30 09:47 hackerchef 阅读(165) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P2866 题意解读:每个牛能看到的右边比他矮的牛,直到有比他高的挡住为止,因此只用找每个牛右边第一个比他高的牛的位置即可计算中间比他矮的有多少。 解题思路: 典型的单调栈应用,注意,常规的单调栈可以用来: 1、找每个数左边 阅读全文
posted @ 2024-08-15 18:07 hackerchef 阅读(86) 评论(0) 推荐(0)

上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 24 下一页