#CF1798E. 多测试生成器

多测试生成器

多测试生成器

  • 时间限制:2 秒
  • 内存限制:256 MiB

题目描述

若数组 b1,b2,…,bmb_1,b_2,\ldots,b_m 满足 b1=m−1b_1=m-1,则称它是一个 test。

若 b2,b3,…,bmb_2,b_3,\ldots,b_m 可以被划分成恰好 b1b_1 个非空连续子数组,且每个子数组都是 test,则称整个数组是一个 multitest。每个元素必须恰好属于一个子数组。

一次操作可以把任意一个元素替换为任意非负整数。记 f(b)f(b) 为把数组 bb 变成 multitest 的最少操作数。

给定正整数数组 a1,a2,…,ana_1,a_2,\ldots,a_n。对每个 1≤i<n1\le i<n,求 f([ai,ai+1,…,an])f([a_i,a_{i+1},\ldots,a_n])。

输入格式

第一行一个整数 tt,表示测试组数。

每组测试数据第一行一个整数 nn,第二行 nn 个整数 a1,a2,…,ana_1,a_2,\ldots,a_n。

输出格式

对每组测试数据输出一行 n−1n-1 个整数,依次为所有要求的后缀答案。

样例输入 1

3
4
1 2 1 7
7
3 1 3 1 2 1 1
4
2 7 1 1

样例输出 1

0 1 1
0 1 1 0 1 1
1 1 1

样例输入 2

1
19
3 4 1 2 1 7 7 3 1 3 1 2 1 1 4 2 7 1 1

样例输出 2

0 0 1 1 1 1 1 1 1 0 1 0 1 0 2 1 1 1

数据范围

  • 1≤t≤3000001\le t\le300000;
  • 2≤n≤3000002\le n\le300000;
  • 1≤ai≤3000001\le a_i\le300000;
  • 所有测试数据的 nn 之和不超过 300000300000。
子任务编号 分值 特殊限制
1 20 每组 n≤35n\le35
2 40 每组 n≤2000n\le2000
3 无特殊限制