CF1973C.Cat, Fox and Double Maximum
普及+/提高
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Fox 喜欢排列!她想出了如下问题并让 Cat 来解决:
给定一个偶数正整数 n 和一个长度为 n 的排列 † p。
对于另一个长度为 n 的排列 q,定义数组 a,其中 ai=pi+qi(1≤i≤n)。q 的得分为 a 中局部极大值的个数。也就是说,q 的得分等于满足 1<i<n(注意是严格不等式)、ai−1<ai 且 ai>ai+1 的 i 的个数(同样注意是严格不等式)。
请你找到一个排列 q,使得得分最大。如果有多个这样的排列,输出任意一个即可。
† 长度为 n 的排列是指由 1 到 n 的 n 个不同整数组成的数组,顺序任意。例如,[2,3,1,5,4] 是一个排列,但 [1,2,2] 不是(2 出现了两次),[1,3,4] 也不是(n=3 但出现了 4)。
输入格式
输入的第一行为一个整数 t(1≤t≤104),表示测试用例的数量。
每个测试用例的第一行为一个偶数整数 n(4≤n≤105,n 为偶数),表示排列 p 的长度。
每个测试用例的第二行为 n 个整数 p1,p2,…,pn(1≤pi≤n)。保证 p 是一个长度为 n 的排列。
保证所有测试用例中 n 的总和不超过 105。
输出格式
对于每个测试用例,输出一行,包含一个长度为 n 的排列(数组 q),使得 q 在给定约束下得分最大。如果有多个答案,输出任意一个即可。
输入输出样例
输入#1
4 4 1 2 3 4 4 4 3 1 2 6 6 5 1 4 2 3 8 1 2 4 5 7 6 8 3
输出#1
2 4 1 3 3 1 4 2 2 5 1 4 3 6 5 4 8 2 7 1 6 3
说明/提示
在第一个样例中,a=[3,6,4,7]。该数组只有一个局部极大值(在第二个位置),因此所选排列 q 的得分为 1。可以证明在约束下这是最优得分。
在最后一个样例中,得到的数组 a=[6,6,12,7,14,7,14,6] 有 3 个局部极大值,分别在第三、第五和第七个位置。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?