#P3406. 第1题-wida的学习计划

第1题-wida的学习计划

题目内容

wida 小朋友快到上学的年纪了,为了帮助他进行识字学习,Tk 设计了一套学习计划。

我们用整数 aia_i 表示汉字类别,相同的数字表示同一个汉字。

学习计划为一个长度为 nn 的数组 {a1,a2,...,ana_1,a_2,...,a_n},Tk 将按照数组顺序依次教给 wida 小朋友。由于 wida 会边学边回看先前学过的汉字记忆,过程具体如下:

  • 当某个汉字 aia_i 是第 xx 次学习这个汉字,且之前未学过或已遗忘,该次学习令其获得 x2x^2 点学习记忆;

  • 当某个汉字 aia_i 是第 xx 次学习这个汉字,且之前尚未遗忘,该次学习在原有学习记忆上再增加 x2x^2 点;

在学习每个汉字之前,所有未遗忘汉字的学习记忆均会衰减 11 点;当某个汉字的学习记忆降为 00 时,即视为遗忘(具体可以移步到样例解释)。

请计算 wida 小朋友在整个学习过程中,任意一时刻最多同时掌握(即未遗忘的)不同汉字的数量。

输入描述

每个测试文件均包含多组测试数据。第一行输入一个整数 T(1T104)T(1≤T≤10^4) 代表数据组数;

除此之外,保证单个测试文件中所有 nn 之和不超过 2×1052×10^5

每组测试数据描述如下:

  • 第一行输入一个整数 n(1n2×105)n(1 ≦n ≦ 2×10^5) ,表示学习计划的长度;

  • 第二行输入 nn 个整数 a1,a2,...,an(1ain)a_1,a_2,...,a_n(1 ≦ a_i ≦ n) ,表示学习计划中第 ii 次学习的汉字编号。

输出描述

对于每一组测试数据,新起一行,输出一个整数,代表 wida 小朋友在所有时刻最多掌握的不同汉字数量。

样例1

输入

2
3
1 2 3
6
1 1 2 2 3 4

输出

1
3

说明

在第一个样例中,n=3n=3 且序列为 {1,2,31,2,3},每个汉字仅出现一次,学习后会在下一次学习前遗忘,因此最多同时掌握 11 个汉字。

在第二个样例中,题目将具体解释此样例,对于每一次学习之前以及学习之后数字为 11 ~ 44 的每个学习记忆。

  • 第一个汉字学习前:{0,0,0,00,0,0,0} ,第一个汉字学习后学习后:{1,0,0,01,0,0,0}

  • 第二个汉字学习前:{0,0,0,00,0,0,0} ,第二个汉字学习后学习后:{4,0,0,04,0,0,0}

  • 第三个汉字学习前:{3,0,0,03,0,0,0} ,第三个汉字学习后学习后:{3,1,0,03,1,0,0}

  • 第四个汉字学习前:{2,0,0,02,0,0,0} ,第四个汉字学习后学习后:{2,4,0,02,4,0,0}

  • 第五个汉字学习前:{1,3,0,01,3,0,0} ,第五个汉字学习后学习后:{1,3,1,01,3,1,0}

  • 第六个汉字学习前:{0,2,0,00,2,0,0} ,第六个汉字学习后学习后:{0,2,0,10,2,0,1}

即学完第五个汉字后 wida 小朋友同时掌握的汉字最多,33 个。