题目描述
题目描述
定义 f(x)为字符串 x中不同字符的数量。例如 f("abc")=3、f("TTTTT")=1或 f("TxTyTxTy")=3。
给定一个字符串 s,将它分成两个非空子串 a和 b(即 a + b = s),使得 f(a) + f(b)的值最大,请你计算并求出该最大值。
输入格式
第一行包含一个整数 T,表示输入包含 T组数据。 对于每组数据:
第一行包含一个整数 n,表示字符串 s的长度;
第二行包含一个字符串 s。
保证字符串 s只包含大小写字母和数字字符,且区分大小写。
输出格式
对于每组数据,输出一行,包含一个整数,表示 f(a)+f(b)的最大值,其中 a+b=s。
2
2
aa
7
abcabcd
2
7
数据规模与约定
对于 的数据:,。
对于 的数据:,,保证同一组数据中所有的 之和不超过 。
3
57
zKOFSw0xZc2RDEz0qp61gJFapOhMTCvECQ0gLXzHykLmOMriN2nnyoxSc
418
uQBJaz8orAWrRIpfslajuLAIXTb8ybBkt9v9RjJEOShdP5QFpWwr7iGDk2DGABYLgwAH5TEmdZl4zCGMokVbVd4K7z9DwWE9ocL1sDkuK1ugxGHYlYTDNFQv0zVXK0UrZBncNx4kOBoH2aFRDxyB0sDwT9TMP9J9RNKJhNUxeQsNRSAwMQOKjrtmuz6nH09m5D6fmvkioWXvG4WLGd3fTvFQq1PKkRnXtJcfUXUMHPc07DkZF6A0vXseynPeAmafJN2Ksm0rF2azc3bizSkruaI7XNQ2zhwQoYY3PmNszBv2hXHWbDFmtzmmerw65bs6U7yR3VtN9MZ8PGasXr68pB6mPG2hhXtkZbwZ0PTNhHldkxnqPf0Wd6rYuFyxcnZ5intJZupFlDTJUijSIC6lNJdXx6mxzkOODl
300
J2rt83L6U0QLZuJCYoK93Ugjb26OSMUtOQIfu8zsMhs9PTLL5e8dYQ3JosOvds1UT3jdKPH2NNqBBfFcxhXG33x7a3Ew2mY4zYBEQmxvIASPBnsI5kgdqEc04vELoukHFmyi2BGcNajSJYnXiQRvuGnOVFa9JHLfUpUDlOfh46Vk8LCKGKxEV1HxUyZe9scdYrnFs5Btgp2f777WaWx4LtEnJ7AhG74DijBZpNNz1bgB5u6gUJmuqrEthX72ZE0D8n1U7vekgglwWnRMpznTn4OcfBZjGqE0N2K8jA55iw9w
49
120
117
1
1524
2IGoRE9bEHj5fh3rUswxt68FSX8fkZNUDyJ5uuOCVziBcyY1bCLf4DrPLH3quwwsfoZJgLnZD8pcVWrNKaQ8hLWGwDdQkA49E8j8CtwKthViL4U6ImXj6wjjwC34YZwwOHuJRF3YcHagG2QBonl65SGmawyW6izlOO3oWYuec6WD4HJXNj8zMLAMvMMSAFoSurDqILBrhNc3f6EbzB7l2QgntZB121VcJUMcjQd5UtzuW1lDfVGGk62z28bv9YCe4ZBgFAOyMTNUG37ueqGAIZhYzVKvBw8pPYXMHNNr89igiO9qLui5aE9eYNVmpqmDY2zgIUmDzwjzw6du6y007zfP9MsvZygOPvnY0a9LFkCLHpKdL12nwMLyIOK8BQAMXMNSlfGXh1vBLocN8ZUzCmq7qsPyiFTPpXZxsXK9YHe999ifPtCbefiPHSqLppx6wUv82Y30moAFgpGykkoqqUf1Lvs8yfUkkX3qhsNzpoWtff1hIQL7V856XwCS1OAwxUGnWa4w7q8Sj5hUnSRl9c10HLDAcMjQlOI1H50nnshjOHV4jAcUa2g5Gbu5QHSg8KUveZVKptt7hiS1hLLOHPn5hLYiMnQr5lq9YxfU1zOgM0B2R5qEYIwr9MTxDgyMKWmP95RJt7yzfclUXu6qUlGGXG6ITitPGtCQ67XQ1Jf9CooMyVbG5hJPyzMSVPR9cakT4PfEelfychHAfkhV8u0C0Ejz30cyNATfdJqWK21Ce1Qsd0rfYU9sVH9C2cXnR5fseljS6JNLs30edhZAF9xmHHgQdDKxkqnsL2bOKX0xQq5GrwejHPxHtOcNUHpM2cy09e9AQSngO7TW2o0xodf1dXZ6fresFyk5wDgdZOZIaj8iJwk9dciuBCdBu5hvHzPcNLCYgMVaQmakWBwAV3auFvPMOpwr4eeHjre1I3psNB3qEt52YydLB8AAL24H3ZkK5RGCKdYgRO5C0fpp1UqMdUVCAWcDHEBcZaUyLTqNt5veHo1oFDO48kmPPYoEhekkPHg7eABR23n758fxX1gR56fxkkQRT87BkjvbTlhJH9fMGfLPFitLVGy3VXQWICkPvJerxc6h1PZ2t4ZuqKBOL75hpUHr7sHf0oZO3CHjoy61CTj39rhvMZlAL3WVwC6v9Yhsn4BSDa78uQpJRY50FdgNAJyWxjdjl1qyES3pR0QrkCpu3oDDXOIjRZbYidCRW3xHDFGs5CqsJgQF5o4mtGhkdjbv33jTl90cWfV7P3fCYVsHQUNDC7ZYrS2vMqhXIyLftELX38dCKSIhOcqt4PolTgPjGCo0tZi3JidOPHZm07DaG4uIuVfrsfJ18MtHUZiJWjG8TDFrOGEWKBzNZK46yrPpoclmE8gbTps0Smn35PchcYjc2810hVjWjf65FGpkcoJ5xqTMBrCEV8eISdD2WZxDm2sWFUSgEmbLvSgE7yYXH9Fv3SW7CFjomihyVOxmusvre4J1wfAvoE9YoFnJybrlangCgSy2XjpdTnGotJkA
124