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 n positive integers a1,a2,…,an fell down on you from the skies, along with a positive integer k≤n.
You can apply the following operation at most k times:
- Choose an index 1≤i≤n and an integer 1≤x≤109. Then do ai:=x (assign x to ai).
Then build a complete undirected weighted graph with n vertices numbered with integers from 1 to n, where edge (l,r) (1≤l<r≤n) has weight min(al,al+1,…,ar).
You have to find the maximum possible diameter of the resulting graph after performing at most k operations.
The diameter of a graph is equal to 1≤u<v≤nmaxd(u,v), where d(u,v) is the length of the shortest path between vertex u and vertex v.
— 你有什么愿望吗?
— 我希望人们停止互相赠送数组。
O_o 和另一位少年
一个包含 n 个正整数的数组 a1,a2,…,an 从天而降砸到了你头上,同时还有一个正整数 k≤n。
你最多可以执行以下操作 k 次:
- 选择一个下标 1≤i≤n 和一个整数 1≤x≤109,然后令 ai:=x(即把 ai 赋值为 x)。
接着,构造一个具有 n 个顶点(编号为 1 到 n)的完全无向带权图,其中边 (l,r)(满足 1≤l<r≤n)的权重为 min(al,al+1,…,ar)。
你需要求出:在至多执行 k 次上述操作后,所得图的最大可能直径。
图的直径定义为 1≤u<v≤nmaxd(u,v),其中 d(u,v) 表示顶点 u 与顶点 v 之间的最短路径长度。
输入格式
Each test contains multiple test cases. The first line contains the number of test cases t (1≤t≤104). Description of the test cases follows.
The first line of each test case contains two integers n and k (2≤n≤105, 1≤k≤n).
The second line of each test case contains n positive integers a1,a2,…,an (1≤ai≤109).
It is guaranteed that the sum of n over all test cases does not exceed 105.
每个测试包含多个测试用例。第一行包含测试用例的数量 t(1≤t≤104)。随后是各测试用例的描述。
每个测试用例的第一行包含两个整数 n 和 k(2≤n≤105,1≤k≤n)。
每个测试用例的第二行包含 n 个正整数 a1,a2,…,an(1≤ai≤109)。
保证所有测试用例的 n 之和不超过 105。
输出格式
For each test case print one integer — the maximum possible diameter of the graph after performing at most k operations.
对于每个测试用例,输出一个整数——执行至多 k 次操作后图的最大可能直径。
输入输出样例
输入#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].
The graph built on this array:

d(1,2)=d(1,3)=2 and d(2,3)=4, so the diameter is equal to max(2,2,4)=4.
在第一个测试用例中,一个最优数组是 [2,4,5]。
基于该数组构建的图:

d(1,2)=d(1,3)=2,且 d(2,3)=4,因此直径等于 max(2,2,4)=4。
输入解题思路,AI测评打分。不知道怎么写?