期末程序复习之串和矩阵压缩的小测试

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一直不太会随便水一下应该就能过了

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值