数据结构变式
背着代码的蜗牛
这个作者很懒,什么都没留下…
展开
-
假期(动态规划+单调队列)
假期题目描述: 经过几个月辛勤的工作,FJ决定让奶牛放假。假期可以在1…N天内任意选择一段(需要连续),每一天都有一个享受指数W。但是奶牛的要求非常苛刻,假期不能短于P天,否则奶牛不能得到足够的休息;假期也不能超过Q天,否则奶牛会玩的腻烦。FJ想知道奶牛们能获得的最大享受指数。 输入描述: 第一行:N,P,Q. 第二行:N个数字,中间用一个空格隔开。 输出描述: 一个整数,奶牛们能获得的原创 2016-10-15 20:34:19 · 933 阅读 · 0 评论 -
窗口(单调队列)
窗口题目描述: 给你一个长度为N的数组,一个长为K的滑动的窗体从最左移至最右端,你只能见到窗口的K个数,每次窗体向右移动一位,如下表: Window position Min value Max value [ 1 3 -1 ] -3 5 3 6 7 ||-1 3 1 [ 3 -1 -3 ] 5 3 6 7 ||-3 3 1 3原创 2016-10-16 21:47:07 · 477 阅读 · 0 评论 -
Blah数集(双指针单调队列)
Blah数集描述: 大数学家高斯小时候偶然间发现一种有趣的自然数集合Blah,对于以a为基的集合Ba定义如下: (1) a是集合Ba的基,且a是Ba的第一个元素; (2)如果x在集合Ba中,则2x+1和3x+1也都在集合Ba中; (3)没有其他元素在集合Ba中了。 现在小高斯想知道如果将集合Ba中元素按照升序排列,第N个元素会是多少? 输入: 输入包括很多行,每行输入包括两个数字,集合原创 2016-10-26 20:17:54 · 2996 阅读 · 0 评论 -
琪露诺(单调队列)
琪露诺题目描述: 在幻想乡,琪露诺是以笨蛋闻名的冰之妖精。某一天,琪露诺又在玩速冻青蛙,就是用冰把青蛙瞬间冻起来。但是这只青蛙比以往的要聪明许多,在琪露诺来之前就已经跑到了河的对岸。于是琪露诺决定到河岸去追青蛙。小河可以看作一列格子依次编号为0到N,琪露诺只能从编号小的格子移动到编号大的格子。而且琪露诺按照一种特殊的方式进行移动,当她在格子i时,她只会移动到i+L到i+R中的一格。你问为什么她这么原创 2016-11-10 20:37:13 · 869 阅读 · 0 评论 -
寻找段落(二分+单调队列)
寻找段落题目描述: 给定一个长度为n的序列a_i,定义a[i]为第i个元素的价值。现在需要找出序列中最有价值的“段落”。段落的定义是长度在[S,T]之间的连续序列。最有价值段落是指平均值最大的段落, 段落的平均值=段落总价值/段落长度。 输入输出格式: 输入格式: 第一行一个整数n,表示序列长度。 第二行两个整数S和T,表示段落长度的范围,在[S,T]之间。 第三行到第n+2行,每行一原创 2016-11-10 21:33:57 · 384 阅读 · 0 评论 -
选择数字(动态规划+单调队列)
选择数字题目描述: 给定一行n个非负整数a[1]..a[n]。现在你可以选择其中若干个数,但不能有超过k个连续的数字被选择。你的任务是使得选出的数字的和最大。 输入描述: 第一行两个整数n,k 以下n行,每行一个整数表示a[i]。 输出描述: 输出一个值表示答案。 样例输入: 5 2 1 2 3 4 5 样例输出: 12 数据范围及提示: 对于20%的数据,n <原创 2016-11-11 09:45:15 · 778 阅读 · 0 评论