滑动窗口
aozil_yang
这个作者很懒,什么都没留下…
展开
-
UVA - 11536 Smallest Sub-Array (滑动窗口)
大体题意:给你n,m,k 从而会算出一个n个元素的集合,求出一个子集合的长度,其中子集合 存在X 满足X 思路:建立一个vis数组,表示每个数出现的次数,然后一个一个数的遍历,只有满足当前数符合访问次数为1 并且大小小于等于k,则cnt++然后建立一个pos表示左端的最优解的位置 寻找方法很简单 当pos位置的数 vis 大于1 或者 大小大于k 都不是最优的都应该++原创 2016-05-24 01:04:01 · 463 阅读 · 0 评论 -
习题10-6 UVA - 1210 Sum of Consecutive Prime Numbers 连续素数之和(滑动窗口)
大体题意:给你一个整数n(n 思路:直接素数打表,然后滑动窗口即可!当sum 小于目标时,移动右边r。发现达到目标,直接记录答案。当sum 大于目标时,直接减左边的l 最后输出ans 即可!#include#include#include#includeusing namespace std;const int maxn = 100000 + 10;原创 2016-05-31 17:15:50 · 910 阅读 · 0 评论 -
习题8-1 UVA - 1149 Bin Packing 装箱 (滑动窗口)
大体题意:给你n个物品,每个物品会告诉你重量,再告诉你背包的最大容量m,并且每个背包最多装两个物品(即使重量有剩余),问装完n个物品至少需要多少个箱子 思路:先给n个重量拍个序,然后变量l 枚举左边,变量r 枚举右边。当a[l] + a[r] 当不符合时肯定把大的重量装进去了,这时只需要r--, ++ ans 即可!最后输出ans循环条件是l 感觉有滑动窗口的味原创 2016-05-18 22:04:11 · 510 阅读 · 0 评论 -
习题8-4 UVA - 11491 Erasing and Winning 奖品的价值(滑动窗口)
大体题意:给你一个n 位的整数,让你删除其中d个数字,使得剩下的n-d个数字组成的数尽量大!问最大是多少?思路:因为n最大是100000,所以存数字要用char 数组来存,然后遍历每一位数字s[i];在建立一个char ans[maxn] 来存取答案!int cnt表示ans数组第几个数值,那么n - i 为剩下的还没遍历的数的个数,cnt 表示已经加入的数的个数,n-原创 2016-05-22 22:14:43 · 365 阅读 · 0 评论 -
HDU 5806 NanoApe Loves Sequence Ⅱ (滑动窗口 或者 二分法)
NanoApe Loves Sequence ⅡTime Limit: 4000/2000 MS (Java/Others) Memory Limit: 262144/131072 K (Java/Others)Total Submission(s): 797 Accepted Submission(s): 376Problem DescriptionNan原创 2016-08-07 23:27:58 · 577 阅读 · 6 评论