先叠甲:本人第一次写题解,误喷
T1
本题十分简单,只需要输入数组,再逆序输出即可,代码如下:
时间复杂度:O(1)O(1)O(1)
T2
本题依旧简单,只需要做一下判断,题解如下:
时间复杂度:O(1)O(1)O(1)
T3
本题应为长度<=1000,所以可以直接暴力,直接将字符加入字符串,代码如下:
时间复杂度:O(n)O(n)O(n)
T4
给定两个 n×m 的 0/1 字符矩阵 a和b。
对每个位置 如果a[i][j]!=b[i][j],个数++。
匹配程度 = n×m匹配成功的位置数。判断该比值是否 ≥x,输出 YES 或 NO。
代码如下:
时间复杂度:O(nm)O(nm)O(nm)
T5
本题因为n<=100,所以直接暴力是最优解,直接三重循环即可,代码如下:
时间复杂度:O(n3)O(n^3)O(n3)
T6
因为题目数据范围最大到 10510^5105,所以我们需要判断的数最大也就是 10510^5105 以内的数,以及它们在数位和过程中的中间结果。
因此可以用筛法(埃氏筛或线性筛)预处理出 10510^5105 以内的所有质数。
对每个数,反复计算数位和,每一步都判断是否为质数,如果某一步不是质数,则不是好数。由于数据范围不大,我们可以直接对 [l,r][l, r][l,r] 中的每个数逐一判断,时间复杂度完全可行。代码如下:
时间复杂度:10510^5105