小编日更到此就结束了,马上就要开学了,这是小编所有的日更内容,特地汇总一下: 常用技巧: 【算法?日更?第二十一期】数据结构:差分与前缀和 【算法?日更?第二十三期】数据结构:two-pointer(尺取法)&莫队 【算法?日更?第三十八期】迭代器是什么? 【算法?日更?第五十四期】知识扫盲:什么是 ...
分类:
编程语言 时间:
2019-08-29 09:36:17
阅读次数:
165
原题链接:https://hpuoj.com/contest/24/problem/E/ 思路:一般的尺取法,不断更新左端点的值。 这是直接调用库函数的一种写法(和上面的原理一样): ...
分类:
编程语言 时间:
2019-07-28 17:57:30
阅读次数:
145
Step1 Problem "原题" 一个人复习一本书,这本书的每一页都有一个知识点ai,每一页的知识点可能会与其他页的知识点相同,问你如何读最少页,将所以知识点读完。 Step2 Ideas: 尺取法通常是指对数组保存下一对下标(起点、终点),燃豆很具实际情况交替推进两个端点直到得出答案的方法。确 ...
分类:
其他好文 时间:
2019-06-21 21:04:39
阅读次数:
138
题意:给你一个数组,问有多少个区间,满足区间中的数构成一个排列。 思路(大佬代码):我们发现,一个排列一定含有1,所以我们不妨从1开始入手计算构成排列的区间个数。对于每个扫描到的1(假设处于位置i),我们向左右分别延伸,直到遇到1或者到了数组边界,延伸的时候,需要处理下左边到i的最大值和右边到i的最 ...
分类:
其他好文 时间:
2019-06-06 22:53:02
阅读次数:
104
暴力出奇迹 考前刷水 因为懒得写单调队列/优先队列,这里给出一个劣质的O(nk)做法,可能会被卡常(看你写的常数是否优秀了)成80/90(我第一次在luogu交就90),保险起见开O2很稳的。首先把每种颜色最靠前的加入,然后统计最大值减最小值作为初始的ans。然后每次将所有颜色中当前位置最靠前的那种 ...
分类:
其他好文 时间:
2019-05-23 20:51:22
阅读次数:
96
题意:给你一个数组,问里面最多能匹配出多少对,满足abs(a[i] - a[j]) >= k; 思路:首先肯定要排序。 思路1(尺取法):看了dreamoon的代码明白的。我们可以寻找一个最长的段,这段的最大值和最小值的差小于k,假设数组长度是n,那么答案是min(n / 2, n - mx)。为什 ...
分类:
其他好文 时间:
2019-05-20 20:59:19
阅读次数:
150
尺取法a掉 然而數學解法為 等差數列求和公式: sum(L,R)=(L+R)(R-L+1)/2=M 即(L+R)(R-L+1)=2M 可以把2M分解成两个数之积,假设分成了两个数K1,K2,且K1<K2时, 可以列一个二元一次方程组 R-L+1=K1 L+R=K2 解得L=(K2-K1+1)/2, ...
分类:
其他好文 时间:
2019-05-16 21:40:50
阅读次数:
145
传送门:https://vjudge.net/problem/POJ-2566 题意 :给出一个整数列,有正数和负数,求一段子串之和的绝对值最接近所给出的t。并输出该段子序列之和及左右端点。 听了胡老师的建议,最近都是以挑战程序设计竞赛为主线。这题也是从那里过来的。其实尺取法就是双指针,但是要注意单 ...
分类:
其他好文 时间:
2019-05-09 23:35:32
阅读次数:
238
713. 乘积小于K的子数组
给定一个正整数数组 nums。
找出该数组内乘积小于 k 的连续的子数组的个数。
示例 1:
输入: nums = [10,5,2,6], k = 100
输出: 8
解释: 8个乘积小于100的子数组分别为: [10], [5], [2], [6], [10,5... ...
分类:
编程语言 时间:
2019-05-04 11:41:11
阅读次数:
126
解题思路: 逐个id进行审查,将当前审查的id的时间点全部提取出来,进行升序排序后运用尺取法。 两个端点初始条件:l=r=0; 当点赞数等于K时,判断当前区间右端点是否小于(不能等于)区间左端点+D。 不满足区间条件的话左端点l自增,右端点r继续往前推进,当点赞数等于K同样再次判断即可。 可以用se ...
分类:
其他好文 时间:
2019-03-02 18:30:19
阅读次数:
224