寒假集训测试2 题目转存
T1 绑腿跑
题目描述
有 \(N\) 个小盆友,每天他们都会按同样的站位顺序进行各项体育活动。
一天, 的首领决定组织一个“绑腿跑”的比赛。为了安全起见,首领会从他们当前的队列中选出一个连续的区间来进行这个比赛。
但是,众所周知,如果参加比赛的小盆友要玩得开心,而且安全的话,那么参加比赛的小盆友们的身高差距不能太大。(你可以想想,你和姚明站在一起绑腿跑,啧啧啧……后果不堪设想……)
的首领安排了 \(Q\) 个小组,已知每个小盆友的身高。
对每个小组,求出他们当中最高和最低的小盆友的身高差是多少。
输入格式
第 \(1\) 行: 两个空格隔开的整数,\(N\) 和 \(Q\) 。
第 \(2\) .. \(N+1\) 行: 第 \(i+1\) 行包含一个整数表示第 \(i\) 个小盆友的身高。
第 \(N+2\) .. \(N+Q+1\) 行: 每行包含两个整数 \(A\) 和 \(B\) ,表示该小组的范围是从 \(A\) 到 \(B\) 。
输出格式
第 \(1\) .. \(Q\) 行: 每行包含一个整数来表示该小组的最大身高差。
样例
样例输入
6 3
1
7
3
4
2
5
1 5
4 6
2 2
样例输出
6
3
0
数据范围与提示
\(1 ≤ N ≤ 50,000\)
\(1 ≤ Q ≤ 200,000\)
\(1 ≤\) 身高 \(≤ 1,000,000\)
\(1 ≤ A ≤ B ≤ N\)
T2 可怜与超市
见普及知识点 树形DP内
T3 序列块
题目描述
给你一个长度为 \(n\) 的序列 \(a\) 。
如果一个序列的构成满足以下条件,我们称之为“大漂亮”:
- 该序列是由若干个序列块组成
- 每个序列块的开头表示该序列块的长度 \(len_{i}\) ,后面 \(i\) 个数为该序列块的元素。
例如:\([3,3,4,5,2,6,1]\) 和 \([1,8,4,5,2,6,1]\) 都是“大漂亮”。但是 \([1]\) 、\([1,4,3]\) 、\([3,2,1]\) 不是。
每一次操作,你可以从序列中删除任意一个元素。
求 使原序列变成“大漂亮”的最小的操作次数。
输入格式
第一行一个整数 \(t\) ,表示测试数据组数。
对于每组测试数据:
第一行一个整数 \(n\) ,表示序列的长度
第二行 \(n\) 个整数,表示序列的每个元素 \(a_{i}\) 。
输出格式
每组数据输出一行,包含一个整数,表示最小的操作次数。
样例
样例输入
7
7
3 3 4 5 2 6 1
4
5 6 3 2
6
3 4 1 6 7 7
3
1 4 3
5
1 2 3 4 5
5
1 2 3 1 2
5
4 5 5 1 5
样例输出
0
4
1
1
2
1
0
数据范围与提示
\(1 \le t \le 10\)
\(1 \le n \le 2 \times 10^{5}\)
\(1 \le a_{i} \le 1 \times 10^{6}\)
数据有梯度
T4 送礼物
题目描述
JYY 和 CX 的结婚纪念日即将到来,JYY 来到萌萌开的礼品店选购纪念礼物。
萌萌的礼品店很神奇,所有出售的礼物都按照特定的顺序都排成一列,而且相邻的礼物之间有一种神秘的美感。于是,JYY决定从中挑选连续的一些礼物,但究竟选哪些呢?
礼品店一共有 件礼物排成一列,每件礼物都有它的美观度。排在第 \(i\ (1 \le i \le N)\) 个位置的礼物美观度为正整数 \(A_{i}\) 。
JYY 决定选出其中连续的一段,即编号为礼物 \(i,i+1\) ... \(j-1,j\) 的礼物。选出这些礼物的美观程度定义为:
其中 \(M(i,j)\) 表示 \(max(A_{i},A_{i+1},...,A_{j})\) , \(m(i,j)\) 表示 \(min(A_{i},A_{i+1},...,A_{j})\) ,\(k\) 为给定的正整数。
由于不能显得太小气,所以 JYY 所选礼物的件数最少为 \(L\) 件;同时,选得太多也不好拿,因此礼物最多选 \(R\) 件。JYY 应该如何选择,才能得到最大的美观程度?由于礼物实在太多挑花眼,JYY 打算把这个问题交给会编程的你。
输入格式
输入第一行包含一个正整数 \(T\) \((T\le 10)\) ,表示有 \(T\) 组数据。
每组数据包含两行,第一行四个非负整数 \(N,K,L,R\) \((2\le L \le R \le N)\)。
第二行包含 \(N\) 个正整数,依次表示 \(A_{1}, A_{2}....A_{n}\) \((A_{i}\le 10^{8})\),\(N,K \le 50000\).
输出格式
输出 \(T\) 行,每行一个非负实数,依次对应每组数据的答案,数据保证答案不会超过 \(10^{3}\) 。输出四舍五入保留 \(4\) 位小数。
样例
样例输入
1
5 1 2 4
1 2 3 4 5
样例输出
0.7500