
尺取法
Dilly__dally
这个作者很懒,什么都没留下…
展开
-
POJ3061(尺取法)
题意:给定一个序列,找出最短的子序列长度,使得其和大于或等于S。思路:尺取法,顾名思义,设两个“指针”,先初始化为0,然后后移r到ans>s,再移左端点l。#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#include<stri...原创 2018-09-02 12:59:24 · 155 阅读 · 0 评论 -
POJ 2729(线性筛+尺取法)
题意:一些整数可以用一个或多个连续的素数和表示。现在他给出你一个正整数n,你要算出这个整数可以有多少种这样的表示方法。比如:53 有两种表示方法 5 + 7 + 11 + 13 + 17 和 53思路:先筛出素数表,直接枚举左右端点会超时,所以尺取。 #include<cstdio>#include<cstring>#include<algorit...原创 2018-09-02 13:13:56 · 331 阅读 · 0 评论 -
POJ 2100(尺取法+嵌套pair)
题意:结界给出一个数n。你要求一段连续的数,这些数的平方和等于n。Input输入一个整数n,1<=n<=10^14;Output输出一个数k,k为解的个数。接下来的k行为解,每一行的解要先输出这个解中包含的数字个数,然后从小到大输出解中包含的数字。解的输出顺序要按照所包含的数字个数降序排列。Sample Input2030Sample Output...原创 2018-09-02 14:09:55 · 214 阅读 · 0 评论 -
POJ 3320(尺取+map+set)
题意:一本书有P页,每一页都一个知识点,求去最少的连续页数覆盖所有的知识点。思路:用map存储对应的知识点的数量来判断sum是否加或减,用set存储不重复的知识点,然后尺取~#include<cstdio> #include<cstring> #include<algorithm> #include<iostream> #i...原创 2018-09-02 17:30:43 · 250 阅读 · 0 评论 -
POJ2566(尺取法+前缀和)
题意:给出一个整数列,求一段子序列之和最接近所给出的t。输出该段子序列之和及左右端点。思路:做这道题其实是没思路的,看了大佬的题解后学习到了。一般来说,我们必须要保证数列单调性,才能使用尺取法。预处理出前i个数的前缀和,和编号i一起放入pair中,然而根据前缀和大小进行排序。由于abs(sum[i]-sum[j])=abs(sum[j]-sum[i]),可以忽视数列前缀和的前后关系。此...原创 2018-09-02 19:37:41 · 526 阅读 · 0 评论