随笔分类 -  洛谷官方题单

上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 23 下一页
摘要:原题链接:https://www.luogu.com.cn/problem/P6492 题意解读:一个序列,初始L,可以指定一个位置修改,L修改成R,R修改成L,可以令L=0,R=1,然后每次修改后输出序列最长不连续0、1(0/1交替出现)的长度。 解题思路:序列支持单点修改(0->1,1->0), 阅读全文
posted @ 2024-12-05 17:52 hackerchef 阅读(93) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1471 题意解读:给定序列a[n],支持三种操作:1.将区间每个数加上一个数 2.查询区间的平均数 3、查询区间的方差 解题思路:要支持区间修改和查询,首选线段树,下面看线段树节点需要维护的信息 平均数 = 区间和 / 阅读全文
posted @ 2024-12-05 11:42 hackerchef 阅读(132) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P4513 题意解读:给定序列a[n],支持两种操作:1.查询区间[l,r]内的最大子段和 2.将a[x]修改成s,输出其中每一个查询操作的结果。 解题思路:区间问题依然想到线段树,问题主要在于线段树的节点要维护哪些信息: 阅读全文
posted @ 2024-12-02 19:29 hackerchef 阅读(93) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P3373 题意解读:对于序列a[n],支持三种操作:1.对区间每个数乘上一个数 2.对区间每个数加上一个数 3.求区间和 解题思路:由于支持乘、加两种区间修改操作,是线段树的另一种典型应用:多个懒标记 显然,这里需要两个懒 阅读全文
posted @ 2024-11-29 17:15 hackerchef 阅读(110) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1253 题意解读:对于一个序列a[n],支持三种操作:1.将区间[l,r]所有数设置为x;2.将区间[l,r]所有数加上x;3.查询区间[l,r]的最大值 解题思路:典型的线段树求解区间问题。 线段树节点需要维护如下关键 阅读全文
posted @ 2024-11-28 17:19 hackerchef 阅读(124) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1438 题意解读:给定序列a[n],支持两种操作:1.给区间[l,r]每个数增加一个对应位置等差数列的元素,首项k,公差d;2.查询第x个元素值 解题思路:直接用线段树求解。 要实现区间修改,需要引入懒标记,而这里修改的 阅读全文
posted @ 2024-11-28 15:31 hackerchef 阅读(142) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P3870 题意解读:有n个数的序列,初始都是0,支持两种操作:将区间[l,r]内所有数异或1,求区间[l,r]内1个个数,输出所有求区间1的个数操作的结果。 解题思路: 灯的开关可以用0,1表示,改变灯的状态可以用异或操作 阅读全文
posted @ 2024-11-27 16:17 hackerchef 阅读(59) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P3372 题意解读:我们知道,对于一个序列,单点修改区间求和或者区间修改单点求和都可以借助树状数组,而求区间最值可以借助ST表,如果既要进行区间修改,又要进行区间求和或者求最值等其他查询操作,且复杂度都在O(logn),可 阅读全文
posted @ 2024-11-27 14:56 hackerchef 阅读(192) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P2161 题意解读:本题前面形式化描述已经足够清晰。 解题思路: 要判断线段之间是否有冲突(包含或者交叉),可以借助set,参考:https://www.cnblogs.com/jcwy/p/18447333 只不过这里要 阅读全文
posted @ 2024-11-20 11:47 hackerchef 阅读(63) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P5677 题意解读:所谓好的配对,通过分析公式∣ax−ay∣≤∣ax−ai∣(i≠x),可以得知就是一个ax与其差的绝对值最小的形成的配对,在数轴上就是距离ax最近的点ay,配对是下标(x,y),给定若干个区间[l,r] 阅读全文
posted @ 2024-11-19 16:26 hackerchef 阅读(74) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1908 题意解读:求逆序对,前面介绍过归并排序的做法,参考:https://www.cnblogs.com/jcwy/p/184077,这里介绍树状数组的做法。 解题思路: 设数组a[n]里的整数只包括1~n,显然对于此 阅读全文
posted @ 2024-11-18 15:03 hackerchef 阅读(105) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P3368 题意解读:树状数组应用-区间修改,单点求值 解题思路: 设原数组为s[N],其差分数组为a[N] 操作一:区间修改 要对s[x] ~ s[y]每个数增加k,相当于对a[x]加k,对a[y + 1]减k,O(n)的 阅读全文
posted @ 2024-11-18 11:42 hackerchef 阅读(65) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P3374 题意解读:树状数组模版:单点修改,区间求值。 解题思路: 树状数组-Binary Index Tree可以动态维护一组数,可以O(logn)的修改一个数,也可以O(logn)的计算一段区间的和。 思考一下朴素做法 阅读全文
posted @ 2024-11-18 11:21 hackerchef 阅读(91) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P2251 题意解读:求窗口m内的最小值 解题思路:直接用单调队列求解即可 100分代码: #include <bits/stdc++.h> using namespace std; const int N = 100000 阅读全文
posted @ 2024-11-13 09:57 hackerchef 阅读(24) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1878 题意解读:n个男女排列一行,每人舞蹈技术是ai,每次找到相邻男女舞蹈技术差值绝对值最小的一对出列,输出每对出列的人员编号。 解题思路: 设初始有8人编号为:1 2 3 4 5 6 7 8 将1 2, 2 3, 3 阅读全文
posted @ 2024-11-13 09:27 hackerchef 阅读(66) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P4053 题意解读:n个建筑有修理时间t1,报废时间t2,要求在合理顺序尽可能多的抢修建筑。 解题思路: 贪心思路: 1、优先抢修报废时间最短的建筑,可以将建筑按t2从小到大排序,再遍历每一个建筑 2、先假设当前建筑可以抢 阅读全文
posted @ 2024-11-12 15:30 hackerchef 阅读(41) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1631 题意解读:两个长度为n的单调不降的有序序列,各取一个数相加,计算最小的n个和。 解题思路: 设两个序列为a[N], b[N] 和最小的为a[1] + b[1] 和第二小的可能有两种:a[1] + b[2]或者a[ 阅读全文
posted @ 2024-11-12 09:07 hackerchef 阅读(64) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P2085 题意解读:有n个函数,函数中x取值>=1,计算所有函数能得到的值中最小的m个。 解题思路: 函数中x取值是>=1的整数,因此每个函数的值是f(1),f(2),f(3)....,是一个递增序列,题目本质上是要从n个 阅读全文
posted @ 2024-11-11 15:55 hackerchef 阅读(63) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1168 题意解读:中位数就是位于中间的数,前1个数的中位数是第1个,前3个数的中位数是第2个,前5个数的中位数的第3个...以此类推。 所以,此题本质上就是动态维护一组数,每1/3/5...等奇数个取第k小的数,取一次后 阅读全文
posted @ 2024-11-08 17:27 hackerchef 阅读(70) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P2827 题意解读:初始n个数,每次取最大值x,根据u/v分成两部分:x * u / v,x - x * u / v,然后其余数都增加q,整个过程重复m次。 输出有两类数据:第t,2t,3t...次取出的最大值;最后剩余的 阅读全文
posted @ 2024-11-08 09:39 hackerchef 阅读(83) 评论(0) 推荐(0)

上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 23 下一页