传送门: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
<题目链接> 题目大意:给定一段序列,每次进行两次操作,输入1 x代表插入x元素(x元素一定大于等于之前的所有元素),或者输入2,表示输出这个序列的任意子集$s$,使得$max(s)-mean(s)$表示这个集合的最大值与平均值的最大差值。 解题分析:首先,因为输入的$x$是非递减的,所以要使$ma ...
分类:
其他好文 时间:
2019-04-11 19:52:28
阅读次数:
205
Music in Car 用两个Set维护一下尺取的过程。 ...
分类:
其他好文 时间:
2019-03-29 00:58:32
阅读次数:
138
<题目链接> 题目大意: 给定一个整数序列,求出绝对值小于等于k的有序对个数。 解题分析: $O(nlong(n))$的二分很好写,这里就不解释了。本题尺取$O(n)$也能做,并且效率很不错。 尺取: #include <bits/stdc++.h> using namespace std; int ...
分类:
其他好文 时间:
2019-03-04 10:02:25
阅读次数:
170
解题思路: 逐个id进行审查,将当前审查的id的时间点全部提取出来,进行升序排序后运用尺取法。 两个端点初始条件:l=r=0; 当点赞数等于K时,判断当前区间右端点是否小于(不能等于)区间左端点+D。 不满足区间条件的话左端点l自增,右端点r继续往前推进,当点赞数等于K同样再次判断即可。 可以用se ...
分类:
其他好文 时间:
2019-03-02 18:30:19
阅读次数:
224
平面上给你一些具有黑或白颜色的点,让你设置一个隔板,使得隔板一侧的黑点加上另一侧的白点数最多。隔板上的点可视作任意一侧。 易知一定存在一个隔板穿过两个点且最优,因此可以先固定以一个点为原点,将其他点中的黑点移到对称的位置,并将所有点按极角排序,然后双指针遍历其他点,利用尺取法维护一个角度不超过180 ...
分类:
其他好文 时间:
2019-02-09 22:43:00
阅读次数:
284
题目 https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3141 题意 一个1到n的排列,每次随机删除一个,问删除前的逆序数 思路 综合考虑,对每个数点,令v ...
分类:
编程语言 时间:
2019-02-08 13:08:56
阅读次数:
208
题目: 思路: 读完题之后第一时间想到的是尺取法来做这个题,结果让自己写写崩了,还是练得少!! 到网上搜了一下学习了大佬的标记方法,用一个变量来判断是不是都已经出现,要比每次都判断一下快超多。 代码: ...
分类:
其他好文 时间:
2019-02-03 18:05:58
阅读次数:
158
注意:这道题的解法和最短摘要一样,都是采用尺取法解决问题,注意这儿题目要求恰好包含,也就是说这个hiho字符串必须包含2个'h'、1个'i'和1个'o'。一个不能多,一个也不能少。 结果: 尺取法的模型:根据区间的特征交替推进左右端点求解问题,其高效的原因在于避免了大量的无效枚举,其区间枚举都是根据 ...
分类:
其他好文 时间:
2019-01-26 18:49:51
阅读次数:
207