A. T1 --删除字符
题目描述
小 V 有一个长度为 的字符串 ,其仅包含小写字母。他可以对这个串做以下两种操作任意次:
- 删除这个字符串的第一个字符;
- 删除这个字符串的第二个字符,然后把左右两部分拼接起来。
小 V 想知道他一共可以得到多少种不同的字符串?注意:空串不计入答案内。
输入格式
第一行一个正整数 ,表示数据组数。
对于每一组数据,第一行一个正整数 ,表示字符串长度。第二行输入一个长度为 的仅包含小写英文字母的字符串。
输出格式
对于每一组数据,输出一行一个整数,表示答案。
样例
样例输入
3
3
xyz
6
hhhhhh
1
a
样例输出
6
6
1
B. T2 --线段选取 (segment)
题目描述
现在你有一个长度为 的数组 。一开始,这个数组的每个元素都等于 。之后,你需要从给定的 条线段中选取一些(可以全选,也可以都不选)。第 条线段的左端点为 ,右端点为 。选取一条线段之后,你会给 都加上 。
定义 为数组的最大值, 为数组的最小值。你的任务是最大化 。请求出这个最大值。
输入格式
第一行一个正整数 ,表示数据组数。
对于每一组数据,第一行输入两个正整数 ,分别表示可以选取的线段数和数组长度。接下来 行,第 行输入两个正整数 ,表示第 条线段的左右端点。
输出格式
对于每一组数据,输出一行一个整数,表示 的最大值。
样例
样例输入
3
1 3
2 2
3 8
2 4
3 5
4 6
6 3
1 1
1 2
1 3
2 2
2 3
3 3
样例输出
1
3
2
C. T3 --绝对值
题目描述
输入两个长度都为 的序列 和 ,定义这两个序列的权值为
其中 是绝对值符号。
你可以选择两个位置 ,然后交换 和 。这个操作最多只能做一次。你需要使得上述式子的值最大化,请求出这个最大值是多少?
输入格式
第一行一个正整数 ,表示数据组数。
接下来对于每一组数据,第一行输入一个正整数 ,表示序列长度;第二行输入 个正整数 ;第三行输入 个正整数 。
输出格式
对于每一组数据,输出题面中要求的式子的最大值。输出一行一个整数。
样例
样例输入
6
3
1 3 5
3 3 3
2
1 2
1 2
2
1 2
2 1
4
1 2 3 4
5 6 7 8
10
1 8 2 5 3 5 3 1 1 3
2 9 2 4 8 2 3 5 3 1
3
47326 6958 358653
3587 35863 59474
样例输出
4
2
2
16
31
419045