CF2217E.Definitely Larger
普及+/提高
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given a permutation $ p $ $ ^{\text{∗}} $ of integers from $ 1 $ to $ n $ .
For an arbitrary permutation $ q $ of length $ n $ , we say that index $ j $ dominates index $ i $ if and only if all of the following conditions hold:
- $ j \gt i $ ,
- $ p_j \gt p_i $ , and
- $ q_j \gt q_i $ .
You are also given an array $ d $ of length $ n $ , where $ d_i $ denotes the number of indices that dominate index $ i $ .
Your task is to construct a permutation $ q $ of integers from $ 1 $ to $ n $ such that for every index $ i $ ( $ 1 \le i \le n $ ), the number of indices $ j $ that dominate $ i $ is exactly $ d_i $ .
If such $ q $ exists, output any valid one. Otherwise, report that it does not exist.
$ ^{\text{∗}} $ A permutation of length $ n $ is an array consisting of $ n $ distinct integers from $ 1 $ to $ n $ in arbitrary order. For example, $ [2,3,1,5,4] $ is a permutation, but $ [1,2,2] $ is not a permutation ( $ 2 $ appears twice in the array), and $ [1,3,4] $ is also not a permutation ( $ n=3 $ but there is $ 4 $ in the array).
输入格式
Each test contains multiple test cases. The first line contains the number of test cases $ t $ ( $ 1 \le t \le 1000 $ ). The description of the test cases follows.
The first line of each test case contains an integer $ n $ ( $ 1 \le n \le 5000 $ ).
The second line of each test case contains $ n $ integers $ p_1, p_2, \ldots, p_n $ . It is guaranteed that $ p $ forms a permutation of integers from $ 1 $ to $ n $ .
The third line of each test case contains $ n $ integers $ d_1, d_2, \ldots, d_n $ ( $ 0 \le d_i \le n $ ).
It is guaranteed that the sum of $ n $ over all test cases does not exceed $ 5000 $ .
输出格式
For each test case:
- If it is possible to construct $ q $ , output a line containing $ n $ integers $ q_1, q_2, \ldots, q_n $ — a valid permutation. If multiple valid answers exist, you may output any of them.
- Otherwise, output $ -1 $ .
输入输出样例
输入#1
7 3 2 3 1 1 0 0 4 3 4 1 2 2 1 1 0 5 2 3 1 4 5 2 2 1 1 0 1 1 0 5 3 1 4 2 5 1 1 1 1 0 4 3 4 2 1 1 1 1 0 8 7 6 3 1 2 5 4 8 1 1 2 2 2 1 1 0
输出#1
1 2 3 -1 2 1 4 3 5 1 2 4 1 3 5 -1 1 2 4 6 5 3 7 8
说明/提示
In the first test case, a valid output is $ q = [1, 2, 3] $ :
- For $ i=1 $ , we have $ p_1=2 $ and $ q_1=1 $ . The index $ j=2 $ dominates $ i=1 $ because $ 2 \gt 1 $ , $ p_2=3 \gt p_1 $ , and $ q_2=2 \gt q_1 $ . Index $ j=3 $ does not dominate $ i=1 $ because $ p_3=1 \lt p_1 $ . Thus, exactly $ 1 $ index dominates $ i=1 $ , which matches $ d_1=1 $ .
- For $ i=2 $ , we have $ p_2=3 $ and $ q_2=2 $ . The only larger index is $ j=3 $ , but $ p_3=1 \lt p_2 $ , so it does not dominate. Thus, $ 0 $ indices dominate $ i=2 $ , matching $ d_2=0 $ .
- For $ i=3 $ , there are no larger indices $ j \gt 3 $ , so $ 0 $ indices dominate, matching $ d_3=0 $ .
In the second test case, $ p = [3, 4, 1, 2] $ and $ d = [2, 1, 1, 0] $ . Let's look at $ i=2 $ , where $ p_2=4 $ . Since there is no index $ j \gt 2 $ with $ p_j \gt p_2 $ , no index can dominate $ i=2 $ . However, the array $ d $ requires $ d_2=1 $ , which makes it impossible to construct a valid permutation $ q $ . Hence, the answer is -1.
输入解题思路,AI测评打分。不知道怎么写?