摘要:
原题链接:https://www.luogu.com.cn/problem/P2161 题意解读:本题前面形式化描述已经足够清晰。 解题思路: 要判断线段之间是否有冲突(包含或者交叉),可以借助set,参考:https://www.cnblogs.com/jcwy/p/18447333 只不过这里要 阅读全文
摘要:
原题链接:https://www.luogu.com.cn/problem/P5677 题意解读:所谓好的配对,通过分析公式∣ax−ay∣≤∣ax−ai∣(i≠x),可以得知就是一个ax与其差的绝对值最小的形成的配对,在数轴上就是距离ax最近的点ay,配对是下标(x,y),给定若干个区间[l,r] 阅读全文
摘要:
原题链接:https://www.luogu.com.cn/problem/P1908 题意解读:求逆序对,前面介绍过归并排序的做法,参考:https://www.cnblogs.com/jcwy/p/184077,这里介绍树状数组的做法。 解题思路: 设数组a[n]里的整数只包括1~n,显然对于此 阅读全文
摘要:
原题链接: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)的 阅读全文
摘要:
原题链接:https://www.luogu.com.cn/problem/P3374 题意解读:树状数组模版:单点修改,区间求值。 解题思路: 树状数组-Binary Index Tree可以动态维护一组数,可以O(logn)的修改一个数,也可以O(logn)的计算一段区间的和。 思考一下朴素做法 阅读全文
摘要:
原题链接:https://www.luogu.com.cn/problem/P2251 题意解读:求窗口m内的最小值 解题思路:直接用单调队列求解即可 100分代码: #include <bits/stdc++.h> using namespace std; const int N = 100000 阅读全文
摘要:
原题链接:https://www.luogu.com.cn/problem/P1878 题意解读:n个男女排列一行,每人舞蹈技术是ai,每次找到相邻男女舞蹈技术差值绝对值最小的一对出列,输出每对出列的人员编号。 解题思路: 设初始有8人编号为:1 2 3 4 5 6 7 8 将1 2, 2 3, 3 阅读全文
摘要:
原题链接:https://www.luogu.com.cn/problem/P4053 题意解读:n个建筑有修理时间t1,报废时间t2,要求在合理顺序尽可能多的抢修建筑。 解题思路: 贪心思路: 1、优先抢修报废时间最短的建筑,可以将建筑按t2从小到大排序,再遍历每一个建筑 2、先假设当前建筑可以抢 阅读全文
摘要:
原题链接:https://www.luogu.com.cn/problem/P1631 题意解读:两个长度为n的单调不降的有序序列,各取一个数相加,计算最小的n个和。 解题思路: 设两个序列为a[N], b[N] 和最小的为a[1] + b[1] 和第二小的可能有两种:a[1] + b[2]或者a[ 阅读全文
摘要:
原题链接:https://www.luogu.com.cn/problem/P2085 题意解读:有n个函数,函数中x取值>=1,计算所有函数能得到的值中最小的m个。 解题思路: 函数中x取值是>=1的整数,因此每个函数的值是f(1),f(2),f(3)....,是一个递增序列,题目本质上是要从n个 阅读全文