Bobbie : 为什么我的代码只能过部分数据
1 年,8 月前
简要描述一下我程序的过程:首先构建查询数组c[j][i],存储的信息是在i位之前(包含i)最靠近i的值为j的字符位置,每次询问分为两位数相等和两位数不等两种情况。
在不等时:遍历每个字符,遍历遇到第二位数时,然后用查询数组寻找第一位数的位置,如果第一位数前面其他数的数量 大于 需要寻找的长度-2(本身第一位数和第二位数已经占了两位了),就从中挑选( 需要寻找的长度-2)个数,用组合数的方式计算(cal函数)
在相等时:道理也一样就是跳过第一次遇到的第二位数,然后查询计算时稍作更改
...查看全文