CF2084D.Arcology On Permafrost
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定三个整数 n、m 和 k,其中满足 m⋅k<n。
对于一个由非负整数组成的序列 b,定义 f(b) 如下:
- 你可以对 b 进行如下操作:
- 设 l 表示当前 b 的长度。选择一个正整数 1≤i≤l−k+1,删除从下标 i 到 i+k−1 的子数组,并将剩余部分拼接。换句话说,将 b 替换为:
[b1,b2,…,bi−1,bi+k,bi+k+1,…,bl].
- 设 l 表示当前 b 的长度。选择一个正整数 1≤i≤l−k+1,删除从下标 i 到 i+k−1 的子数组,并将剩余部分拼接。换句话说,将 b 替换为:
- f(b) 定义为在进行最多 m 次(可以是零次)上述操作后,mex(b) 的最小可能值 ∗。
你需要构造一个长度为 n 的非负整数序列 a,满足以下条件:
- 对于所有 1≤i≤n,0≤ai≤109。
- 在所有满足条件的序列 a 中,f(a) 的值最大化。
∗ 集合 c={c1,c2,…,ck} 的最小排除值(MEX)定义为不包含在 c 中的最小非负整数 x。
输入格式
每个测试包含多个测试用例。第一行包含测试用例的数量 t(1≤t≤104)。接下来是每个测试用例的描述。
每个测试用例的第一行包含三个整数 n、m 和 k(2≤n≤2⋅105,1≤m<n,1≤k<n,1≤m⋅k<n)。
保证所有测试用例的 n 之和不超过 2⋅105。
输出格式
对于每个测试用例,输出 n 个整数 a1,a2,…,an(0≤ai≤109)。
如果有多个答案,输出任意一个即可。
输入输出样例
输入#1
8 2 1 1 5 2 2 6 1 4 8 2 2 8 1 5 11 3 3 22 6 3 17 2 2
输出#1
0 0 0 1 0 0 0 0 1 2 2 0 1 0 2 1 0 1 0 8 1 0 1 2 1000000000 1 0 1 2 1 0 0 1 0 2 1 0 2 1 0 0 2 1 0 2 1 0 3 2 1 0 2 1 0 2 1 0 2 1 0 2 1 4 0 2 1 3 4 0 2 1 0 3 4 0 1 2 1 3
说明/提示
- 在第一个测试用例中,可以证明 f(a)=1 是最大化的结果。
- 在第二个测试用例中,可以证明 f(a)=1 是最大化的结果。f(a)=1 是因为你可以进行以下操作:
- 选择 i=3,删除下标 3 到 4 的子数组,剩余部分拼接后 a 变为 [0,1,0]。
- 选择 i=1,删除下标 1 到 2 的子数组,剩余部分拼接后 a 变为 [0]。
- 在第三个测试用例中,可以证明 f(a)=2 是最大化的结果。f(a)=2 是因为你可以进行以下操作:
- 选择 i=2,删除下标 2 到 5 的子数组,剩余部分拼接后 a 变为 [0,1]。
- 在第四个测试用例中,可以证明 f(a)=2 是最大化的结果。
- 在第五个测试用例中,可以证明 f(a)=3 是最大化的结果。
- 在第六个测试用例中,可以证明 f(a)=2 是最大化的结果。
翻译由 DeepSeek V3 完成
输入解题思路,AI测评打分。不知道怎么写?