摘要:
C.Matrix题意:输入a和s。s是只包含数字的字符串,b是一个矩阵,矩阵内的元素满足bij=si*sj。查找有多少个子矩阵,能满足这个子矩阵内的所有元素和为a。思路:注意一点:子矩阵的横坐标、纵坐标上的数分别为(x,y,z,...)、(a,b,c,...),则子矩阵内元素和等于(a+b+c+...) * (x+y+z+...)。由这点可将问题转化为求有多少种情况,令m*n==a。而m、n来自s的子串内digit之和。因此枚举s的所有连续子串,保存下所有子串内digit和及个数。当a不等于0时,枚举a的因子。当a等于0时,只考虑num[0]。PS:重复计算的情况为当横纵两数相等时。参考:ht 阅读全文