CF1712D.Empty Graph

普及+/提高

通过率:0%

时间限制:1.50s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

— Do you have a wish?

— I want people to stop gifting each other arrays.

O_o and Another Young Boy

An array of nn positive integers a1,a2,…,ana_1,a_2,\ldots,a_n fell down on you from the skies, along with a positive integer k≤nk \le n.

You can apply the following operation at most kk times:

  • Choose an index 1≤i≤n1 \le i \le n and an integer 1≤x≤1091 \le x \le 10^9. Then do ai:=xa_i := x (assign xx to aia_i).

Then build a complete undirected weighted graph with nn vertices numbered with integers from 11 to nn, where edge (l,r)(l, r) (1≤l<r≤n1 \le l \lt r \le n) has weight min⁡(al,al+1,…,ar)\min(a_{l},a_{l+1},\ldots,a_{r}).

You have to find the maximum possible diameter of the resulting graph after performing at most kk operations.

The diameter of a graph is equal to max⁡1≤u<v≤nd⁡(u,v)\max\limits_{1 \le u \lt v \le n}{\operatorname{d}(u, v)}, where d⁡(u,v)\operatorname{d}(u, v) is the length of the shortest path between vertex uu and vertex vv.

— 你有什么愿望吗?
— 我希望人们停止互相赠送数组。

O_o 和另一位少年

一个包含 nn 个正整数的数组 a1,a2,…,ana_1,a_2,\ldots,a_n 从天而降砸到了你头上,同时还有一个正整数 k≤nk \le n。

你最多可以执行以下操作 kk 次:

  • 选择一个下标 1≤i≤n1 \le i \le n 和一个整数 1≤x≤1091 \le x \le 10^9,然后令 ai:=xa_i := x(即把 aia_i 赋值为 xx)。

接着,构造一个具有 nn 个顶点(编号为 11 到 nn)的完全无向带权图,其中边 (l,r)(l, r)(满足 1≤l<r≤n1 \le l \lt r \le n)的权重为 min⁡(al,al+1,…,ar)\min(a_{l},a_{l+1},\ldots,a_{r})。

你需要求出:在至多执行 kk 次上述操作后,所得图的最大可能直径。

图的直径定义为 max⁡1≤u<v≤nd⁡(u,v)\max\limits_{1 \le u \lt v \le n}{\operatorname{d}(u, v)},其中 d⁡(u,v)\operatorname{d}(u, v) 表示顶点 uu 与顶点 vv 之间的最短路径长度。

输入格式

Each test contains multiple test cases. The first line contains the number of test cases tt (1≤t≤1041 \le t \le 10^4). Description of the test cases follows.

The first line of each test case contains two integers nn and kk (2≤n≤1052 \le n \le 10^5, 1≤k≤n1 \le k \le n).

The second line of each test case contains nn positive integers a1,a2,…,ana_1,a_2,\ldots,a_n (1≤ai≤1091 \le a_i \le 10^9).

It is guaranteed that the sum of nn over all test cases does not exceed 10510^5.

每个测试包含多个测试用例。第一行包含测试用例的数量 tt(1≤t≤1041 \le t \le 10^4)。随后是各测试用例的描述。

每个测试用例的第一行包含两个整数 nn 和 kk(2≤n≤1052 \le n \le 10^5,1≤k≤n1 \le k \le n)。

每个测试用例的第二行包含 nn 个正整数 a1,a2,…,ana_1,a_2,\ldots,a_n(1≤ai≤1091 \le a_i \le 10^9)。

保证所有测试用例的 nn 之和不超过 10510^5。

输出格式

For each test case print one integer — the maximum possible diameter of the graph after performing at most kk operations.

对于每个测试用例,输出一个整数——执行至多 kk 次操作后图的最大可能直径。

输入输出样例

  • 输入#1

    6
    3 1
    2 4 1
    3 2
    1 9 84
    3 1
    10 2 6
    3 2
    179 17 1000000000
    2 1
    5 9
    2 2
    4 2

    输出#1

    4
    168
    10
    1000000000
    9
    1000000000

说明/提示

In the first test case, one of the optimal arrays is [2,4,5][2,4,5].

The graph built on this array:

d⁡(1,2)=d⁡(1,3)=2\operatorname{d}(1, 2) = \operatorname{d}(1, 3) = 2 and d⁡(2,3)=4\operatorname{d}(2, 3) = 4, so the diameter is equal to max⁡(2,2,4)=4\max(2,2,4) = 4.

在第一个测试用例中,一个最优数组是 [2,4,5][2,4,5]。

基于该数组构建的图:

d⁡(1,2)=d⁡(1,3)=2\operatorname{d}(1, 2) = \operatorname{d}(1, 3) = 2,且 d⁡(2,3)=4\operatorname{d}(2, 3) = 4,因此直径等于 max⁡(2,2,4)=4\max(2,2,4) = 4。

输入解题思路,AI测评打分。不知道怎么写?

首页