1:利用三元组完成矩阵加法
【问题描述】
以三元组表存贮的稀疏矩阵A,B ,两个矩阵的行数为m,列数为n,非零元个数分别为num1 和num2。试完成程序,完成A+B。
【输入形式】
第一行输入稀疏矩阵A,B的行数m和列数n(假设两个矩阵行数列数相同),
第二行输入稀疏矩阵A,B的非零元个数num1和num2;
以下各排分别输入对应的三元组,头num1组为A中的元素,接下来num2组为B的元素,同一个矩阵的元素按照行递增排列,第一行规定为1,同一行的元素按照列递增排列,第一列规定为1。
【输出形式】
为相应的三元组,以回车分开,如果结果全部为0,则输出 -1 -1 -1
【样例输入】
3 3
2 4
1 1 5
2 3 1
1 1 5
1 2 6
3 2 1
2 1 1
【样例输出】
1 1 10
1 2 6
2 1 1
2 3 1
3 2 1
【样例说明】
对于上面的运行范例,相当于下图的矩阵相加。
【评分标准】
题目思路
在矩阵中,若数值为0的元素数目远远多于非0元素的数目,并且非0元素分布没有规律时,则称该矩阵为稀疏矩阵;与之相反,若非0元素数目占大多数时,则称该矩阵为稠密矩阵。定义非零元素的总数比上矩阵所有元素的总数为矩阵的稠密度。
模拟题意即可
2:kmp计算一个字符串是由多少个重复的子串构成的
【问题描述】
计算一个字符串是由多少个重复的子串构成的。
提示:字符串长度为len,kmp算法求出next数组0~len的值,要包含len的next值。
如ababab的next值是-1 0 0 1 2 3 4。Len%(len-Next[len])==0 求出 Len/(len-Next[len])的值3即为解。
【输入形式】
【输出形式】
【样例输入】
abcabc
【样例输出】
2
【样例输入】
aaaa
【样例输出】
4
【样例说明】abcabc由abc重复两次构成
【评分标准】
题目思路
一个kmp的题目。。。kmp一直不太会随便水一下应该就能过了